*** به زودی این پست با تغییرات زیادی ویرایش می شه!!
قبل نوشت:برای وضوح بیشتر تصاویر اونها رو ، روی هاردتون ذخیره کنید و از اونجا بازشون کنید.
سلام دوستان.
تا اونجایی رسیدیم که کانکشن رو بین ویژوال استودیو و پایگاه داده مون برقرار کردیم. برای راحتی کارمون فقط هم یه جدول (Table) ساختیم. به یک سری استورد پروسیجر (Stored Procedure) هم نیاز داریم مثل اضافه کردن، پاک کردن،آپ دیت (ویرایش) کردنه جدولمون توی SQL که کد اینها رو هم باید توی پایگاه دادمون بنویسیم و بعد توی برنامه ی ویژوالمون ازشون استفاده کنیم. شما می تونین برای سهولت هنوز بیشترتون فیلد های جدولتون رو کمتر کنین. استورد پروسیجرها رو هم به ساده ترین شکل ممکنش بدون کوچکترین پیچیدگی فعلا می نویسیم.
در پایگاه داده ای که دفعه ی پیش ساختیم به صورت زیر یک New Query باز می کنیم و پروسیجرمونو در اون تعریف و با کلید F5 یا تب Execute در پایگاه داده ی مورد نظرمون اجرا می کنیم که بعد از اجرا شما می تونید پروسیجرهای ساخته شده تون رو در قسمت Programmability/Stored Procedure ببینید.
اینم ساختار کلی نوشتن پروسیجر :
(create proc [Procedure name] (Your Fields That Will Define
as
begin
What procedure will do--------
end
(شکل procedure_pb)
فایل متن استورد پروسیجرهای استفاده شده (با Save Target as... باز کنین.)
خوب حالا می ریم سراغ ویژوال استودیومون. یه سری تغییرات توی ظاهر فرممون ایجاد کردم که با دیدن تصویرش متوجه می شید.می دونین که این دلخواه ست. شما می تونید هر شکلی با هر تعداد دکمه (Button) یا تکست باکس(TextBox)و یا لیبل (Lable) و یا دیتا گرید ویو (DataGridView) - که این ابزار رو از قسمت Dataدر پنجره ی TooltBoxهم می تونیم انتخاب کنیم- و ...روی فرمتون طراحی کنید و از روی Propertiesش تغییرات دلخواه تون رو ایجاد کنید که ربطی به کد نویسی نداره. قسمت اصلی کدهامون رو در دکمه ها می نویسیم که با کلیک کردن روشون و وارد شدن به ساختار کدِ ساخته شده توسط ویژوال استودیو می تونیم کارهایی که می خواییم اون دکمه ی مورد نظر انجام بده می نویسیم.در واقع همین جاست که از پروسیجرهامون استفاده می کنیم.

با توجه به شکل شما می تونید تغییرات دلخواه تون رو از طریق properties هر ابزار روش اعمال کنید مثلا نوشته های دیتا گریدتون فارسی باشه و چیدمانش از راست به چپ و ...
اما در مورد دیتا گرید، وقتی دیتا گرید رو اضافه می کنید خالیه و هیچ چیزی در اون مشاهده نمی شه.شما با استفاده از مربع کوچیکی که گوشه ی دیتا گرید هست و کلیک روی اون در قسمت DataGridView Tasks می تونید هم سورس تون رو انتخاب کنید(که اینجا من جدولمون رو انتخاب کردم که بعد از ایجاد کانکشن قابل مشاهده ست) و هم ویرایشش کنید از قسمت Edit Columns و کارهای دیگه اگر نیاز داشتید... و می بینید که بعد از این کار پایین فرموتون اتصالهاتون رو نشون می ده.
خوب وارد کدهامون می شیم .بالای کدها باید یک سری Using رو اضافه کنیم تا از کلاسها و متدهای مورد نیاز برای Sqlکه توی کتابخونه ی ویژوال استودیو قبلا قرار داده شده (.net frame work و Dllیادتونه دیگه ) راحت استفاده کنیم: این 2 تا usingرو اضافه می کنیم:
;using System.Data
;using System.Data.SqlClient
برای استفاده از پایگاه داده مون باید یک سری دستورات رو همیشه بنویسیم مثل :
;()SqlConnection con = new SqlConnection
;()SqlCommand cmd = new SqlCommand
;()SqlDataAdapter da = new SqlDataAdapter
و
;"con.ConnectionString = "DataSource=(local);InitialCatalog=phone_book;Integrated Security=True
برای باز کردن و ورود به کانکشن و پایگاه داده مون // ; () con.Open
بعد یه تابع نیاز داریم که دیتا گریدمون رو بعد از هر تغییر اعمال شده پر کنه به نام FillGrid() که توی شکل کدش رو می بینین:
(شکل FillGrid)
و کدهای دیگه رو هم توی شکل می بینید.فقط به جای قرار گرفتن کدها از ابتدای برنامه دقت کنین.
(شکل Insert)
(شکل Delete)
(شکل Update)
(شکل Close)
می بینین که ساختارها تقریبا مشابه هستن و تغییرات کوچیکی می خوان. البته این برنامه زیاد کامل و جامع نیست و صرفا برای آشنایی و شروع خوبه. من از NVarChar(50) استفاده کردم تا اسامی فارسی رو پشتیبانی کنه.بقیه کد هم که ساختار استفاده ش همون طوریه که می بینین.البته اگه دقت کنین موقع استفاده از هر متد و کلاس به خاطر پشتیبانی و هوشمند بودن ویژوال استودیو هم تایپ راحتتره و هم موارد استفاده و چگونگی استفاده از هر کلاس و متد و آبجکت و همه و همه در کنارش توضیح داده می شه که خودش راهنمایی خوبیه.
در انتها هم که طبق معمول Ctlr+F5 و اجرای برنامه.
می تونید برنامه م رو اصلاح یا کامل کنید؟؟!! پیشنهادی ندارید؟
// راز موفقیت علاوه بر تلاش و جستجو در پرسیدنه. بزرگترا چی می گن؟! می گن ندونستن عیب نیست، نپرسیدن عیبه. اگر جایی رو واضح نگفتم یا کم گفتم بپرسین لطفا.ممنونم.
رو نوشت از وبلاگ قبلیم: پویش