PDA

View Full Version : نوشتن کلاس برای اتصال به دیتا بیس



shotshat
یک شنبه 21 مرداد 1386, 14:25 عصر
من میخوام یک کلاس بنویسم که تعریف هایی که برای اتصال به دیتا بیس داریم رو اونجا بنویسم که لازم نباشه توی هر فرمی تکرارشون کنم و فقط کلاس نوشته شده رو صدا کنم اما واسه جاهایی مثل تعریفcmd.commandtext="usp_select] storedprocidure] که توی هر فرمی جداست باید چه کار کنم؟ چون cmd رو نمیشناسه(تعریف cmd توی کلاس مذکور هستش که باید صداش کنیم)

rasoul_ras
یک شنبه 21 مرداد 1386, 14:56 عصر
شما در اصل نیاز به یک دیتا لیر داری که بتونه عملیات اضافه کردن حذف کردن و ... انجام بده و می تونید ان را آنقدر کلی بنویسید که در تمامی کلاسها از اون استفاده کنید

رها
یک شنبه 21 مرداد 1386, 16:14 عصر
سلام
ایک لایبرری واسه ات فرستادمکه یه کلاس abstract به نام dbObject داره که کارهات رو راه می اندازه البته در صورتی که از معماری سه لایه استفاده کنی یعنی همه کارهای مربوط به بانکت رو در خودش انجام بدی به عبارت دیگه از storedprocedure استفاده کرده باشی
موفق باشی

shotshat
یک شنبه 21 مرداد 1386, 21:37 عصر
جناب رها فایلی که زحمت کشیده بودید رو دانلود کردم ولی نفهمیدم چه جوری باید ازش استفاده کرد. میشه یه خورده بیشتر توضیح بدید؟

shotshat
یک شنبه 21 مرداد 1386, 21:39 عصر
شما در اصل نیاز به یک دیتا لیر داری که بتونه عملیات اضافه کردن حذف کردن و ... انجام بده

جناب rasoul_ras من کار با دیتالیر رو بلد نیستم. میشه بیشتر توضیح بدید

PC2st
یک شنبه 21 مرداد 1386, 22:55 عصر
کار با دیتا لیر (دیتا لایر) (Data Layer) دقیقا همون کاری است که میخواهی انجام بدی! یعنی کلاسی که کار حذف و اضافه و از این چیزها رو برای بانک اطلاعاتی انجام میده، که اون کلاس یا لایه که میتونه یک assembley جداگانه و در یک سرور و ... باشه.


واسه جاهایی مثل تعریف cmd.commandtext="usp_select] storedprocidure] که توی هر فرمی جداست باید چه کار کنم؟
در کلاس یک متد ایجاد کن که نام اون sp رو بعنوان پارامتر دریافت کنه!


چون cmd رو نمیشناسه (تعریف cmd توی کلاس مذکور هستش که باید صداش کنیم)
این قسمت رو متوجه نشدم؟!

رها
دوشنبه 22 مرداد 1386, 09:19 صبح
فایلی رو که گذاشتم یک project Library هست که باید به Solution برنامه ات اضافه کنی. البته کلاسهاش به صورت abstract هستند. در اصل این همون پیاده سازیه data layer هست که دوستمون بهش اشاره کردند.
شما فایل dbobject.cs رو از این پروژه نگاه کنید بهتون در ایجاد کلاسی که جامع باشه کمک می کنه. هرچند که خود این کلاس کامله.
ایده این روش رو من از یه ebook گرفتم. اسمش asp.net website parogramming,problem,design, solution از انتشارات wrox بود البته مربوط به asp.net 1.1 هست اما خیلی کتاب خوبی بود و هست.

shotshat
دوشنبه 22 مرداد 1386, 13:07 عصر
ممکنه یک نمونه برنامه کامل و البته ساده رو واسم بذارید تا اجراشو ببینم و ببینم توی برنامه اصلی چه جوری این کلاس صدا زده شده؟!
چون برنامه تون یه خورده با کدهایی که وقتی همه برنامه رو توی یک لایه می نویسیم فرق داشت یک کم گیج شدم.

منظورتون از دیتا لیر نوشتن یک کلاسه یا دیتا لیر چیز جدایی از کلاسهاست؟

رها
سه شنبه 23 مرداد 1386, 17:43 عصر
سلام
یه پروژه در مورد مدیریت کاربران که به صورت معماری سه لایه ای پیاده سازی شده ضمیمه کردم.
البته در طراحی از ابزار atlas استفاده شده که می تونی از مسیر زیر دانلودش کنی
www.ajax.asp.net
پاینده و پیروز باشید

shotshat
سه شنبه 23 مرداد 1386, 18:31 عصر
جناب رها از این که لطف کردید و برنامه رو گذاشتید ممنونم اما لینکی که برای دانلود atlas گذاشتید مشکل داره برنامه رو هم که دانلود کردم کار نمی کنه.
برنامه تون به زبان C# است؟
atlas چیه؟
شما که اینقدر دارین لطف می کنید اگه میشه یه برنامه ساده بدون این دنگ و فنگا بذارین.
خیلی احتیاج دارم برنامه نویسی 3 لایه رو سریعا یاد بگیرم اونقدرام حرفه ای نیستم. (این سوالمم برای نوشتن لایه Data Acceess در معماری 3 لایه است).
موفق باشید

رها
دوشنبه 29 مرداد 1386, 07:03 صبح
آره برنامه به زبان سی شارپ هست.
atlas هم کامپوننت مایکروسافت واسه پیاده سازی ajax هست اگر می خوای در مورد ajax بیشتر بدونی به این لینک یه سر بزن.
http://barnamenevis.org/forum/showthread.php?t=74695
در مورد پروژه نمونه واسه معماری سه لایه هم می تونم کمک کنک اما نه به صورت نوشتن پروژه شما شروع کنید من هم کمک می کنم.
واسه شروع برید روی نوع پروژه ای به نام class library کار کنید. موقع اضافه کردن پروژه جدید یه نمونه پروژه که قابل انتخاب هست class library هست که واسه معماری سه لایه بسیار مناسبه. خروجی این نوع پروژه dll هست که به راحتی در پروژه های دیگه قابل استفاده است.
در مورد name space ها هم اگه تونستید یه تحقیقی کنید با استفاده از این مورد می تونید واسه لایه هاتون نامگذاری مناسبی داشته باشید.
موفق باشید

atre siib
دوشنبه 02 مهر 1386, 23:05 عصر
سلام.
جناب رها می تونم خواهش کنم یه کم بیشتر توضیح بدین؟
من قبلا" با c# کد نوشتم ولی کد نویسی بصورت چند لایه رو خوب بلد نیستم.
می خوام بدونم دقیقا" چه قسمت هایی مربوط به هر لایه می شه؟ بیشتر منظورم مرز بین لایه 2 و 3 هستش.