سلام
نقل قول:
... using ...
چرا؟
مثلا تفاوت بین این دستور شما با دستور من چیست؟
forum.p30world.com/showthread.php?p=1556644#post1556644
نقل قول:
چرا همه جا از دستور This استفاده کرده اید؟
this در هر زمان و در هر کلاس به همان کلاسی که داخلش هستیم اشاره میکند (معادلش در VB لغت Me است)
در بیشتر مواردی که در کدهای من دیده اید، برای مشخص کردن شی مالک اشیا بوده...
در واقع به نظر من خوانایی را به شدت افزایش میدهد.
مثلاً وقتی همینطوری مینویسید BindingSource1.Current این تردید به وجود می آید که BindingSource1 یک متغییر محلی است؟ پارامتری است که به تابع پاس داده شده؟ یک شی static عمومی و همگانی است؟ یا یک شی است که در سطح مالزول تعریف شده؟
ولی this.BindingSource1.Current تمام شک و تردیدها را برطرف میکند و کامللاً مشخص است که شی مذکور غیر static است و در سطح مازول کلاس جاری که در آن هستیم تعریف شده.
دریافت سریع و با یک نگاه این مطلب ضمن افزایش خوانایی و نیاز کمتر به توضیح نویسی، جلوی برخی اشتباه هات و خطاها را میگیرد و میتواند سرعت کد نویسی را افزایش دهد (فوراً متوجه میشوم که میتوانم این شی را در تمام توابع دیگر همان کلاس هم استفاده کنم و حق استفاده از ان را در متدهای static ندارم) ضمن اینکه در زمان تایپ نام وارد کردن this و زدن نقطه لیست مقادیر مجاز همین حوزه نشان داده میشود که محدوده کوچکتری است و سریعتر میتوان نام مورد نظر را در ان یافت.
نقل قول:
چرا همه جا از دستور This استفاده کرده اید؟
;(f.ShowDialog(this
ولی دستور فوق کمی فرق داردف وقتی میخواهید یک فرم دیگر را باز کنید میتوانید یک فرم را به عنوان مالک آن فرم معرفی کنید...
وچون برنامه شما در طی دو فرم و یک ریسمان اجرا میشود نوشتن this و ننوشتن ان برای متد ShowDialog تفاوتی ایجاد نمیکند ولی با این وجود باز هم ضمن افزایش خوانایی کد هم محکمتر خواهد شد و مثلاً اگر بعداً برنامه چند را یک دفعه چند ریسمانی هم کنید باز مالک فرم به درستی حفظ خواهد شد.
نقل قول:
یعنی برای Delete چه چیزی بنویسم؟
نقل قول:
برای Edit چه چیزی بنویسم؟
نقل قول:
من برای Ins,Upd,Del هر کدام یک StoredProcedure درست کرده ام و از آنها استفاده می کنم. شما میفرمایید از آنها استفاده نکنم؟
این روش چه مزیتی نسبت به کار با Sp ها دارد؟
کاملاً بد متوجه شدید!
این روشها و کدها آفلاین است و فقط در سطح DataSet و DataTable اعمال میشود و در گراید قابل مشاهده است...
در نهایت برای اعمال قطعی انها در دیتابیس باید از DataAdapter و متد Update استفاده کنید.
مثل متد Fill که استفاده کرده اید و دیتاها را از دیتابیس خوانده و در DataSet ذخیره کرده... حالا DSataSet آفلاین استف شما میتوانید چیزی از آن حذف و اضافه و تغییر دهید و بعد با متد Update برعکس Fill عمل کنید و دیتابیس را آپدیت کنید.
استفاده از SP ها بسیار منطقی است، شما میتوانید در فرامین Update و Insert و Delete در DataAdapter از SP ها استفاده کنید تا DataAdapter.Update بر اساس آن کار کند.
(
با این یک سوال من متوجه شدم که احتمالاً کمی پایه ای مشکل دارید ...
پیشنهاد میکنم کتاب یا جزوه ای در خصوص ADO.Net را حتماً مطالعه کنید تا اصول دیتابیس را در دات نت پایه ای یادبگیرید و مشکلتان برای همیشه ریشه کن و حل شود، چون بحرحال من هر چه توضیح دهم نمیتوانم اندازه یک کتاب 100 یا 300 صفحه ای توضیح دهم و کتاب فضا و امکانات بیشتری برای شرح و بست دارد.
)
نقل قول:
طبق راهنمایی شما من سطر انتخاب شده توسط DataGride که DataSource آن روی جدول اول تنظیم شده است را به فرم دوم میفرستم، حال چگونه اطلاعات جدول دوم را نیز به آن بفرستم؟(در فرم دوم یک ListBox وجود دارد که تلفنهای ثبت شده این فرد در آن نمایش داده میشود)
یعنی یک فرم شماف همزمان دو جدول را ویرایش میکند؟
خوب اطلاعات مورد نیاز دیگر را هم مثل همان DataRow بفرستید!
موفق باشید.