PDA

View Full Version : نوشتن برنامه چند کاربره در سی شارپ



yanni2
سه شنبه 06 مرداد 1394, 14:30 عصر
با سلام
دوستان میخواستم یه برنامه بنویسیم که به صورت نامحدود داخل برنامه بشه کاربر تعریف کرد به طوری که هر کاربر به یک پایگاه داده در sql server وصل بشه ممنون
خیلی ضرروری هست لطفا راهنمایی کنید از کجا شروع کنم
ممنون

davidrobert
سه شنبه 06 مرداد 1394, 14:35 عصر
ببخشید ساخت حساب کاربری زیاد مشکل نیست ولی تو دیتابیس . منظور شما خیلی غیر قابل فهم هستش یعنی چی حسابداری کاربری زیاد بسازید در اسکیول سرور منظورت در دیتابیس هستش.اگه منظورت این باشه هرکس به اطلاعات خودش در اسکیول سرور دسترسی داشته باشه این مشکلی نیست در خود دیتابیس جدوال رو طوری بسازید هرکس میتونه اطلاعات خودش رو ببینه یعنی هرکس وارد میشه وارد حسابداری کاربری خودش میشه و تمام کارا خودش رو میبینیه

yanni2
سه شنبه 06 مرداد 1394, 14:59 عصر
ببخشید ساخت حساب کاربری زیاد مشکل نیست ولی تو دیتابیس . منظور شما خیلی غیر قابل فهم هستش یعنی چی حسابداری کاربری زیاد بسازید در اسکیول سرور منظورت در دیتابیس هستش.اگه منظورت این باشه هرکس به اطلاعات خودش در اسکیول سرور دسترسی داشته باشه این مشکلی نیست در خود دیتابیس جدوال رو طوری بسازید هرکس میتونه اطلاعات خودش رو ببینه یعنی هرکس وارد میشه وارد حسابداری کاربری خودش میشه و تمام کارا خودش رو میبینیه


بله منظورم اینه که هرکس حساب کاربری خودشو ببینه
میشه بگید چطور این کارو کنم
یکم بیشتر توضیح می دهید

yanni2
سه شنبه 06 مرداد 1394, 15:04 عصر
من منظورم اینه هرکی وارد حساب کاربری خودش بشه اطلاعات شو وارد کنه بعد این اطلاعات با اطلاعات کاربر دیگه تداخل نداشته باشه
یعنی هر کاربر به صورت مجزا کار خودشو انجام بده و به اطلاعات کاربر دیگه دسترسی نداشته باشه
ممنون

zayens
سه شنبه 06 مرداد 1394, 15:56 عصر
با سلام
دوستان میخواستم یه برنامه بنویسیم که به صورت نامحدود داخل برنامه بشه کاربر تعریف کرد به طوری که هر کاربر به یک پایگاه داده در sql server وصل بشه ممنون
خیلی ضرروری هست لطفا راهنمایی کنید از کجا شروع کنم
ممنون
من منظورم اینه هرکی وارد حساب کاربری خودش بشه اطلاعات شو وارد کنه بعد این اطلاعات با اطلاعات کاربر دیگه تداخل نداشته باشه
یعنی هر کاربر به صورت مجزا کار خودشو انجام بده و به اطلاعات کاربر دیگه دسترسی نداشته باشه
ممنون
سوالتون واضح نیست
مشکلتون دقیقا کجاست؟
برنامه نویسی؟
طراحی دیتابیس؟

yanni2
سه شنبه 06 مرداد 1394, 16:05 عصر
مشکل من فعلا پایگاه داده هست
اینکه پایگاه داده من برای برنامه چند کاربره چجور باید باشه؟
برای نوشتن برنامه چند کاربره آیا باید چند پایگاه داده داشت یا چند جدول ؟
چطور در برنامه نویسی تنظیم کنم که هر کاربر فقط به اطلاعات خودش دسترسی داشته باشه؟

محمد رضا فاتحی
سه شنبه 06 مرداد 1394, 16:32 عصر
شما توی جدول های مورد نظرتون یه فیلد اضافه می کنید به نام نام کاربری و هرچی کودری ، گزارش یا ..... می خواین بگیرید هر چه اینسرت و آپدیت و حذف داشتید از این فیلد استفاده می کنید...خیلی سادس

yanni2
سه شنبه 06 مرداد 1394, 16:39 عصر
شما توی جدول های مورد نظرتون یه فیلد اضافه می کنید به نام نام کاربری و هرچی کودری ، گزارش یا ..... می خواین بگیرید هر چه اینسرت و آپدیت و حذف داشتید از این فیلد استفاده می کنید...خیلی سادس

مرسی خیلی ممنون
رمز عبور هم باید مثل نام کاربری یک فیلد تعریف کنم ؟

محمد رضا فاتحی
سه شنبه 06 مرداد 1394, 17:45 عصر
نگاه کنید شما یه جدول جداگانه دارید برای نام کاربری و کلمه عبور و سطح دسترسی و .....
قرار نیست که توی هر جدولتون نام کاربری و کلمه عبور بیاد.... حتما جدول کاربران یه کلید اصلی داره...کلید اصلی به عنوان رابط میاد توی جداول مورد نظر

yanni2
چهارشنبه 07 مرداد 1394, 01:33 صبح
نگاه کنید شما یه جدول جداگانه دارید برای نام کاربری و کلمه عبور و سطح دسترسی و .....
قرار نیست که توی هر جدولتون نام کاربری و کلمه عبور بیاد.... حتما جدول کاربران یه کلید اصلی داره...کلید اصلی به عنوان رابط میاد توی جداول مورد نظر

یعنی تو جدول کاربران علاوه بر فیلد نام کاربری و رمز عبور یک فیلد هم با نامی دیگر اضافه میکنیم بعد آن را کلید قرار می دهیم ؟

یک سوال دیگه
انوقت نیاز نیست برای برای اینسرت کردن یا پاک کردن اطلاعات همش نام کاربری و رمز عبور وارد شود؟

ghaedi70
چهارشنبه 07 مرداد 1394, 08:04 صبح
سلام
با توجه به اینکه ممکنه نوع کاربر متفاوت باشه:مثلا کاربر مدیر باشه یا کاربر عادی
اول ی جدول میسازین و برا هر نوع ی ای دی میزارین.مثلا یک بشه مدیر 2 بشه کاربر عادی
بعد ی جدول دیگه میزارین و مشخصات کاربر وارد میکنین و به هر کاربر ی رمز عبور با کد کاربری اختصاص میدین. و بین این دو جدول ارتباز برقرار میکنین
این میشه ی سناریوی کوتاه از کار.اینجوری کاربران هم تفکیک میشن

jamal_ch
چهارشنبه 07 مرداد 1394, 08:44 صبح
لطفا به عکس زیر نگاه کنید
133681
هر کاربر با استفاده از userid فقط تراکنش های خودشو میبینه

yanni2
پنج شنبه 08 مرداد 1394, 01:04 صبح
دوستان من الان مشکلم تو برنامه نویسیش هستش اینکه چطور کاری کنم هر کاربر اطلاعات خودش را ببیند و اینکه اطلاعات بقیه را نبیند
باید چطور کوئری ها را تعریف کنم که موقع دیدن گزارش نیازی به دوباره وارد کردن یوزر نیم و پسورد نباشد

کمک کنید دوستان یکم گیج شدم
ممنون

yanni2
پنج شنبه 08 مرداد 1394, 01:32 صبح
برنامه ای که من میخوام بنویسم ورودش با لاگین هر کاربری که قبلا ثبت نام کرده می باشد
وقتی وارد برنامه می شود می تواند اطلاعاتی را ثبت کند ، ذخیره کند، پاک کند، ویرایش کند، یا گزارش بگیرد این اعمالی هست که هر کاربر می تواند انجام دهم
من چطور تنظیم کنم که
1- اطلاعات کاربران تداخل پیدا نکند
2- هر کاربر نتواند به اطلاعات کاربر دیگر دسترسی داشته باشد

ممنون دوستان

yanni2
پنج شنبه 08 مرداد 1394, 01:35 صبح
لطفا به عکس زیر نگاه کنید
133681
هر کاربر با استفاده از userid فقط تراکنش های خودشو میبینه

یعنی داخل هر جدول باید با یوزر ای دی کاربران را فراخوانی کنیم ؟

jamal_ch
پنج شنبه 08 مرداد 1394, 09:51 صبح
یعنی داخل هر جدول باید با یوزر ای دی کاربران را فراخوانی کنیم ؟

سلام فرض برا این که برنامه نویسی ویندوز داری انجام میدی

تو هر جایی که میخوایی هر کاربر فقط اطلاعات خودش رو ببینه یک userid اضافه کن به جدول مورد نظرش
بعد هنگام ورود با استفاده از نام کاربری و کلمه عبور userid رو هم گیر بزار تویک متغیر عمومی و استاتیک
حالا هر جا میخوایی اطلاعاتی نشون بدی از جدول مورد نظر تو شرط دستور sql اینجوری بنویس
با توجه به عکس

select * from TblTransaction where userid='"+ publicuserid +"'


publicuserid نام متغییر عمومی است که هنگام ورود کاربر از جدول tbluser گرفتی

yanni2
پنج شنبه 08 مرداد 1394, 13:57 عصر
سلام فرض برا این که برنامه نویسی ویندوز داری انجام میدی

تو هر جایی که میخوایی هر کاربر فقط اطلاعات خودش رو ببینه یک userid اضافه کن به جدول مورد نظرش
بعد هنگام ورود با استفاده از نام کاربری و کلمه عبور userid رو هم گیر بزار تویک متغیر عمومی و استاتیک
حالا هر جا میخوایی اطلاعاتی نشون بدی از جدول مورد نظر تو شرط دستور sql اینجوری بنویس
با توجه به عکس

select * from TblTransaction where userid='"+ publicuserid +"'


publicuserid نام متغییر عمومی است که هنگام ورود کاربر از جدول tbluser گرفتی

مرسی از شما
اگر بخوام insert یا delete انجام بدم چکار باید بکنم ؟

Mahmoud Zaad
پنج شنبه 08 مرداد 1394, 14:26 عصر
*********** ویرایش شد مجدداً مطالعه کنید.

سلام
ببینید کل کار به شکل زیر هست.
1- به یک جدول نیاز دارید برای نگهداری مشخصات کاربران که در ساده ترین حالت شامل فیلدهای id / username/ password/ name هست
2- در تمام جداولی که نیاز هست، یک فیلد مثلا به اسم userID تعریف می کنید که همون id در جدول کاربران در اینجا درج میشه.
3- ثبت، ویرایش و حذف کاربران که یک کار ساده با دیتابیس هست. insert, update, delete
4- یک متغیر استاتیک از نوع استرینگ در یک کلاس تعریف می کنید مثلا به اسم userID برای id شخص و یک متغیر استاتیک استرین دیگه به اسم name برای نام شخص.
5- یک فرم ورود به برنامه می سازید، کاربر نام کاربری و پسورد رو وارد می کنه یه select می زنید اگر درست بود id شخص رو در متغیر userID و name رو هم در متغیر name بند قبل قرار می دید و کاربر وارد میشه.
6- در تمام فرم هایی که نیاز هست هر رکوردی که می خواید اضافه کنید برای userID از متغیر استاتیک (بندهای 4 و 5) استفاده می کنید.
7- در تمام فرم هایی که نیاز هست شما باید بر اساس فیلد userID (بند 2) کوئری بزنید یعنی رکوردهای جدول بر اساس این فیلد select میشه. حالا مقدار این userID هم از همون متغیر استاتیک (بندهای 4 و 5) گرفته میشه. اینجوری کاربر فقط اطلاعاتی که خودش وارد کرده رو می بینه یا به اصطلاح پروفایل خودش رو می بینه.
8- برای نمایش نام شخص و مثلا پیغام "فلانی خوش آمدی!" باید از متغیر name در بند 4 استفاده کنید.

به همین روشی که عرض کردم شروع به طراحی دیتابیس و فرم ها کنید، تا وقتی شروع به کار نکنید فقط سوال هست که پیش میاد ولی وقتی شروع کردید می بینید خیلی از مواردی که به نظر مشکل می رسیدند اصلا مشکل نبودند!

yanni2
پنج شنبه 08 مرداد 1394, 14:34 عصر
سلام
ببینید کل کار به شکل زیر هست.
1- به یک جدول نیاز دارید برای نگهداری مشخصات کاربران که در ساده ترین حالت شامل فیلدهای id / username/ password/ name هست
2- در تمام جداولی که نیاز هست، یک فیلد مثلا به اسم userID تعریف می کنید که همون id در جدول کاربران در اینجا درج میشه.
3- ثبت، ویرایش و حذف کاربران که یک کار ساده با دیتابیس هست. insert, update, delete
4- یک متغیر استاتیک از نوع استرینگ در یک کلاس تعریف می کنید مثلا به اسم userID
5- یک فرم ورود به برنامه می سازید، کاربر نام کاربری و پسورد رو وارد می کنه یه select می زنید اگر درست بود id شخص رو در متغیر userID بند قبل قرار می دید و کاربر وارد میشه.
6- در تمام فرم هایی که نیاز هست هر رکوردی که می خواید اضافه کنید برای userID از متغیر استاتیک (بندهای 4 و 5) استفاده می کنید.
7- در تمام فرم هایی که نیاز هست شما باید بر اساس فیلد userID (بند 2) کوئری بزنید یعنی رکوردهای جدول بر اساس این فیلد select میشه. حالا مقدار این userID هم از همون متغیر استاتیک (بندهای 4 و 5) گرفته میشه. اینجوری کاربر فقط اطلاعاتی که خودش وارد کرده رو می بینه یا به اصطلاح پروفایل خودش رو می بینه.

به همین روشی که عرض کردم شروع به طراحی دیتابیس و فرم ها کنید، تا وقتی شروع به کار نکنید فقط سوال هست که پیش میاد ولی وقتی شروع کردید می بینید خیلی از مواردی که به نظر مشکل می رسیدند اصلا مشکل نبودند!

خیلی ممنون خیلی اطلاعات مفیدی دادید من شروع میکنم به مشکل خوردم بازم میام
تشکر

davidrobert
پنج شنبه 08 مرداد 1394, 18:19 عصر
دوست عزیز شما تنها کاری که میکنید خیلی ساده هستش شما قسمت یک نام کاربری دارید درسته حالا شما نام کاربریتون رو ثبت میکنید و وارد برنامه میشید حالا تو هر قسمت برنامه اسم کاربریتون میارید یعنی در قسمت مثلا فروش کالا محمد که نام کاربریش mohammad هستش رو قرار میدیم وقتی شخص وارد میشه نام کاربریش در تمام فرم های مورد نظر هستش و نام کاربری طرف رو تو تمام جدوال ها میارید و وقتی مثلا اطلاعات فروش رو ثبت میکنید اسم کاربری طرف هم در جدوال فروش ثبت میکنید و وقتی طرف خواست اطلاعات ببینه یک ورچسب در فرم قرار میدید مخفی یا نه وقتی جستجو میکنه بر حسب نام کاربری خودش و همین طور مثلا شماره فاکتور زدن فقط کالا که خودش فروخته میاد نه دوستات یا اینکه داره اطلاعات کلی نمایش میده میاد بر حسب شرط نام کاربری نمایش میده که برابر با mohammad هستش و این طوری هر کس اطلاعات خودش رو میبینه.
به همین راحتی