پروژه دفترچه ی تلفن – Phone Bookبخش دوم – اسپاگتی کد - اتصال پایگاه داده به ویژوال استودیو

نوشته شده بوسیله تبسم 19. آبان 1388 18:24

*** به زودی این پست با تغییرات زیادی ویرایش می شه!!

قبل نوشت:برای وضوح بیشتر تصاویر اونها رو ، روی هاردتون ذخیره کنید و از اونجا بازشون کنید.

سلام دوستان.

تا اونجایی رسیدیم که کانکشن رو بین ویژوال استودیو و پایگاه داده مون برقرار کردیم. برای راحتی کارمون فقط هم یه جدول (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)procedure_pb

فایل متن استورد پروسیجرهای استفاده شده (با Save Target as... باز کنین.)

خوب حالا می ریم سراغ ویژوال استودیومون. یه سری تغییرات توی ظاهر فرممون ایجاد کردم که با دیدن تصویرش متوجه می شید.می دونین که این دلخواه ست. شما می تونید هر شکلی با هر تعداد دکمه (Button) یا تکست باکس(TextBox)و یا لیبل (Lable) و یا دیتا گرید ویو (DataGridView) - که این ابزار رو از قسمت Dataدر پنجره ی  TooltBoxهم می تونیم انتخاب کنیم- و ...روی فرمتون طراحی کنید و از روی Propertiesش تغییرات دلخواه تون رو ایجاد کنید که ربطی به کد نویسی نداره. قسمت اصلی کدهامون رو در دکمه ها می نویسیم که با کلیک کردن روشون و وارد شدن به ساختار کدِ ساخته شده توسط ویژوال استودیو می تونیم کارهایی که می خواییم اون دکمه ی مورد نظر انجام بده می نویسیم.در واقع همین جاست که از پروسیجرهامون استفاده می کنیم.

pb_Design

با توجه به شکل شما می تونید تغییرات دلخواه تون رو از طریق properties هر ابزار روش اعمال کنید مثلا نوشته های دیتا گریدتون فارسی باشه و چیدمانش از راست به چپ و ...

اما در مورد دیتا گرید، وقتی دیتا گرید رو اضافه می کنید خالیه و هیچ چیزی در اون مشاهده نمی شه.شما با استفاده از مربع کوچیکی که گوشه ی دیتا گرید هست و کلیک روی اون در قسمت DataGridView Tasks می تونید هم سورس تون رو انتخاب کنید(که اینجا من جدولمون رو انتخاب کردم که بعد از ایجاد کانکشن قابل مشاهده ست) و هم ویرایشش کنید از قسمت Edit Columns و کارهای دیگه اگر نیاز داشتید... و می بینید که بعد از این کار پایین فرموتون اتصالهاتون رو نشون می ده.

خوب وارد کدهامون می شیم .بالای کدها باید یک سری Using رو اضافه کنیم تا از کلاسها و متدهای مورد نیاز برای Sqlکه توی کتابخونه ی ویژوال استودیو قبلا قرار داده شده (.net frame work و  Dllیادتونه دیگه ) راحت استفاده کنیم: این 2 تا usingرو اضافه می کنیم:

;using System.Data

;using System.Data.SqlClient

 

code1_pb

برای استفاده از پایگاه داده مون باید یک سری دستورات رو همیشه بنویسیم مثل :

;()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)FillGrid

و کدهای دیگه رو هم توی شکل می بینید.فقط به جای قرار گرفتن کدها از ابتدای برنامه دقت کنین.

(شکل Insert)Insert

(شکل Delete) Delete

 

(شکل Update) Update

(شکل Close) Close

 

می بینین که ساختارها تقریبا مشابه هستن و تغییرات کوچیکی می خوان. البته این برنامه زیاد کامل و جامع نیست و صرفا برای آشنایی و شروع خوبه. من از NVarChar(50) استفاده کردم تا اسامی فارسی رو پشتیبانی کنه.بقیه کد هم که ساختار استفاده ش همون طوریه که می بینین.البته اگه دقت کنین موقع استفاده از هر متد و کلاس به خاطر پشتیبانی و هوشمند بودن ویژوال استودیو هم تایپ راحتتره و هم موارد استفاده و چگونگی استفاده از هر کلاس و متد و آبجکت و همه و همه در کنارش توضیح داده می شه که خودش راهنمایی خوبیه.

در انتها هم که طبق معمول Ctlr+F5 و اجرای برنامه.

می تونید برنامه م رو اصلاح یا کامل کنید؟؟!! پیشنهادی ندارید؟

// راز موفقیت علاوه بر تلاش و جستجو در پرسیدنه. بزرگترا چی می گن؟! می گن ندونستن عیب نیست، نپرسیدن عیبه. اگر جایی رو واضح نگفتم یا کم گفتم بپرسین لطفا.ممنونم.

رو نوشت از وبلاگ قبلیم: پویش

 

پروژه دفترچه ی تلفن – Phone Book (بخش اول – اسپاگتی کد - اتصال پایگاه داده به ویژوال استودیو)

نوشته شده بوسیله تبسم 15. آبان 1388 20:42

سلام.

حالا که تا حدودی با محیط کلی ویژوال استودیو آشنا شدین، برنامه ای رو می نویسیم که نیاز به استفاده از پایگاه داده ها داره و نحوه ی اتصال و کار با کلاس ها و متدهای پایگاه داده ای رو در ویژوال استودیو بررسی می کنیم.

مثال مون رو که برنامه ی یک دفترچه ی تلفنه شروع می کنیم. فعلا برای راحتی بیشتر فقط یک جدول (Table) توی پایگاه داده ی  SQL(من از ورژن  SQL Enterprise 2005 برای این مثال استفاده می کنم )، می سازیم و پایگاه داده مون رو به ویژوال استودیو مون متصل (Connect) می کنیم.

** شما می تونید از پایگاه داده ی اکسس (Access)، هم استفاده کنید. نحوه ی اتصال یا استفاده ی کدها فرقی ندارن. فقط از قسمت ها و متدها و کلاسهای مربوط به اکسس استفاده می کنیم همونطور که اگر پایگاه داده اوراکل (Oracle) باشه به همین صورته.

با توجه به شکل ها، در محیط SQL Server یک پایگاه داده جدید (New Database) می سازیم .من اینجا اسمش رو PhoneBook گذاشتم.

sql_pb1

sql_pb2

و بعد از ساخت دیتا بیس مون، در این پایگاه داده یک جدول جدید(New Table) می سازیم.

sql_pb3

گزینه هایی رو که می خواییم توی دفترچه ی تلفنمون داشته باشیم و ذخیره کنیم، فیلدهای جدولمون رو می سازن. مثل نام و نام خانوادگی فرد، شماره های تلفن، فکس، آدرس ایمیل یا آدرس پستی اشخاص... و بعد جدولمون رو ذخیره (Save) می کنیم.

sql_pb4

و اما...

فعلا کار ما با پایگاه داده تموم شده و کم کم می ریم سراغ ویژوال استودیو. از قسمت ایجاد پروژه(Create Project) یک Windows Forms Application در زبان #C ایجاد می کنم نام، مکان ذخیره پروژه و نام سولوشن رو مشخص می کنم و معلومه دیگه OK.

قبل از اینکه اتصال دیتابیس ی که ساختیم بگم روی فرممون با لیبل ها (Lable) و تکست باکس ها (TextBox) و دکمه های (Button) موجود در پنجره ی جعبه ی ابزار (ToolBox) دینگ دینگ ! : اینا رو در پست های قبلی معرفی کردم کما اینکه پیگیری عکس ها هم سریع تر کمکتون می کنه دفترچه ی تلفنمون رو طراحی می کنیم.

pb3

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

**می ریم سراغ اتصال پایگاه داده مون. در واقع اتصال پایگاه داده به ویژوال استودیو امکان ذخیره سازی اطلاعاتمون رو در این برنامه ی ویژوال با امکانات گرافیکی و طراحی سریعتر و کاربرپسندترش می ده. این امکان که مثلا نام و نام خانوادگی و شماره ی فرد رو راحت توی برنامه ای که جلومون بازه و محیط گرافیکی قابل درکی داره وارد می کنی و فقط با زدن دکمه های دلخواهِ ت، اطلاعات و تغییرات مورد نظر در پشت صحنه توی پایگاه داده اعمال می شه بدون اینکه کاربر متوجه باشه. از طرفی برای حفظ امنیت اطلاعات و حدود دسترسی افراد هم کمک بزرگیه.

خوب با توجه به شکل زیر، از منوی Data ، گزینه ی Add New Data Source رو انتخاب می کنیم:

pb4

در پنجره ی باز شده  (Data Source Configuration Wizard) گزینه ی دیتا بیس (Database) رو انتخاب می کنیم و Next رو می زنیم..

pb5

در پنجره ی جدید گزینه ی (New Connection..) رو انتخاب می کنیم و در پنجره ی (Choose Data Source)، پایگاه داده مورد نظرمون رو که ممکنه SQL، Access و یا Oracle و ...باشه انتخاب می کنیم و ادامه می دیم (Continue)...

pb6

در پنجره ی Add Connection به انتخاب گزینه های 3 قسمت جدا شده در پنجره دقت کنید.مثلServer Name که (local) انتخابش کردم و یا انتخاب (Use Windows Authentication). می تونین گزینه ی پایینش رو هم انتخاب کنید که در اون صورت باید نام کاربری و پسورد رو هم بزنید.در قسمت آخر هم که نام پایگاه داده مون رو از لیست پایگاه داده های موجود که به خاطر (local) انتخاب کردن سرور، دیده می شن انتخاب می کنیم و تست کانکشن رو می زنیم...

pb7

بعد از ok  کردن، اطلاعات کانکشنمون رو می تونیم ببینیم:

pb8

به همین ترتیب Next  رو می زنیم و در پنجره ی جدید قسمت هایی از پایگاه داده مون رو که می خواییم در برنامه استفاده کنیم تیک می زنیم و ادامه...

pb9

و بعد Finish. و با پایان کار می تونید در پنجره ی Solution اطلاعات اضافه شده ی مربوط به اتصال پایگاه داده تون به برنامه رو مشاهده بفرمایید.

pb10

فعلا خسته نباشید تا پست های بعدی که ببینیم حالا چه جوری از این اتصال استفاده کنیم.

// راز موفقیت علاوه بر تلاش و جستجو در پرسیدنه. بزرگترا چی می گن؟! می گن ندونستن عیب نیست، نپرسیدن عیبه. اگر جایی رو واضح نگفتم یا کم گفتم بپرسین لطفا.ممنونم.

// اگر عکس هاش واضح نبود یا از وبلاگ قبلیم برشون دارین که کیفیتش بهتره یا اینکه بگین تا براتون با کیفیتش رو ایمیل کنم .

رو نوشت از وبلاگ قبلیم: پویش

 

استفاده از مطالب این وبلاگ با ذکر منبع مجاز است، لطفا!!

ایده هات مثل یه پَر که آرووم فرود می آد...

می تونی مفهوم و زیبایی تمام زندگی رو ، دنیا رو جمع کنی توی فقط یه نقطه که در بی نهایت غرقه... محیطِ مجتمع ِ "ویژوال استادیو دات نت" ، یه دنیاست مثل همین دنیا، لایه لایه، صفحه صفحه، دنیا دنیا...می شه توش سفر کرد و زندگی ساخت...دنیایی که قدرتت اونو ساخته، می سازه...مثل ِ یک محیط بازی، جایی برای یادگرفتن و تمرین زندگیه... مثل تمام موقعیت ها ولحظه های زندگی...

---------------------------

tabasom.world@gmail.com 

توجه:

بخش نظرات پس از 3 روز از ارسال پست بسته خواهد شد. برای ارسال سوال یا نظرات از بخش تماس سایت اقدام نمایید. در صورت نیاز از طریق ایمیل پاسخ داده خواهد شد.

پست های قبلی