خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
نویسنده : امیر انصاری
در این آموزش می خواهیم اطلاعات موجود در جدول PhoneBook را از دیتابیس PhoneBookDB بازیابی کنیم و در برنامه نشان دهیم. برای انجام این کار ابتدا با استفاده از ADO.NET به دیتابیس اس کیو ال سرور متصل خواهیم شد و سپس با استفاده از دیتا آداپتر اطلاعات را بازیابی خواهیم کرد. در ادامه به جزئیات کد نویسی این کار خواهیم پرداخت.

سیستم یکپارچۀ سازمانی راهکار



اگر آموزشهای قبلی را ندیده اید، به مطالعه این آموزش نپردازید، در واقع این آموزش یک مجموعه سریالی است که مطالب آن بصورت تنگاتنگ در ارتباط با یکدیگر می باشند. برای شروع این دوره آموزشی بر روی لینک آغاز دوره آموزشی کلیک کنید.

آغاز دوره آموزشی

فهرست آموزشهای دوره آموزش برنامه نویسی به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی

تغییر فرم آغازین پروژه


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

ابتدا در Solution Explorer نود مربوط به پروژه PhoneBook را انتخاب کنید.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
حالا با ماوس بر روی آن راست کلیک کنید و گزینه Properties را انتخاب کنید.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
پنجره تنظیمات پروژه نمایان می شود. مشابه تصویر زیر در قسمت Startup form گزینه FrmManageContacts را انتخاب کنید و سپس پروژه را ذخیره کنید.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
حالا پنجره تنظیمات پروژه را ببندید و برنامه را اجرا کنید.

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

نوشتن روال بازیابی اطلاعات از پایگاه داده


در پنجره Solution Explorer فرم FrmManageContacts را انتخاب کنید و سپس با ماوس روی آن دوبار کلیک کنید تا باز شود. حالا وارد محیط کد نویسی آن شوید و روال زیر را که یک روال Sub می باشد بنویسید.

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

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

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده

تشریح کد بازیابی اطلاعات از جداول پایگاه داده


در ابتدای کد ما یک شیء جدید از نوع SqlConnection ساختیم و نام آن را cn قرار دادیم. سپس ویژگی ConnectionString را برای cn تنظیم کردیم. و با استفاده از کد Open این کانکشن را باز کردیم، باز شدن کانکشن اتصال ما را با پایگاه داده برقرار کرد.
این قسمت از کد را در آموزشهای قبلی نیز مشابه اش را دیده بودید، اما تکه کد بعدی، کد جدیدی برای شما می باشد.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
در اینجا ابتدا یک شیء جدید از نوع SqlCommand ایجاد کردیم و نام آن را cmd قرار دادیم. SqlCommand یکی دیگر از اشیاء موجود در ADO.NET می باشد. وطیفه این شیء اینست که یک دستور را به پایگاه داده بفرستد. SqlCommand برای اینکه بتواند با پایگاه داده ارتباط برقرار کند نیاز به یک شیء کانشکن دارد برای همین در کد زیر ما شیء کانکشن موجود را به آن متصل کرده ایم.

یک تکنیک جدید که در نوشتن این کد از آن استفاده کرده ایم استفاده از underline (_) در انتهای برخی از کد های می باشد. Underline باعث می شود تا ما یک خط کد در زبان برنامه نویسی ویژوال بیسیک را به چند خط کد بتوانیم بشکنیم و برنامه آن را یک خط در نظر می گیرد. در واقع در کدهایی که طولانی می شوند می توانید با استفاده از این تکنیک، کدهای خود را خواناتر کنید.


22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
ویژگی CommandText که از ویژگیهای موجود در شیء SqlCommand می باشد، متن دستور ما می باشد. محتوای این دستور دقیقا دستورات SQL Server می باشد که در آموزشهای پایگاه داده ملاحظه کردید. در واقع ما یک دستور SQL را مستقیما در همینجا می نویسیم و شیء کامند (SqlCommand) این دستور را به پایگاه داده منتقل می کند.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
در این کد ما یک شیء از نوع SqlDataAdapter معرفی کرده ایم و نام آن را da قرار داده ایم. شیء دیتا آداپتر (SqlDataAdapter) یکی دیگر از اشیاء ADO.NET می باشد. این شیء می تواند خروجی دستوراتی را که توسط شیء کامند به پایگاه داده ارسال شده اند را دریافت نماید.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
همانطور که اشاره کردیم، شیء دیتا آداپتر می تواند خروجی یک دستور کامند را دریافت نماید. برای همین در کد بالا ما ویژگی SelectCommand از شیء دیتا اداپترمان را با شیء کامند که در اینجا نامش cmd میباشد، مقدار دهی کرده ایم.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
در اینجا ما یک شیء از نوع DataTable معرفی کرده ایم و نام آن را dt قرار داده ایم. شیء دیتاتیبل هم یکی دیگر از اشیاء ADO.NET می باشد. کار این شیء اینست که می تواند اطلاعات را در حالت جدولی (دارای سطرها و ستونها) برای ما نگهداری کند.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
دستور Fill که از روالهای از پیش نوشته شده برای شیء دیتا آداپتر می باشد، اطلاعات را از دیتابیس در فرمت جدول دریافت می کند و در یک شیء از نوع دیتا تیبل (DataTable) پر می کند. برای همین ما شیء دیتا تیبل مان را که نامش dt می باشد بعنوان پارامتر دستور Fill معرفی کرده ایم.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
تا اینجا ما اطلاعات را از دیتابیس استخراج کرده ایم و در یک دیتاتیبل بنام dt ذخیره کرده ایم و دیگر نیازی به اتصال به دیتابیس نداریم. برای همین با استفاده از متد Close از شیء cn ، اتصال با پایگاه داده را قطع می کنیم.

22. آموزش برنامه نویسی به زبان ساده . بازیابی اطلاعات از پایگاه داده
اطلاعاتی که ما در شیء دیتاتیبل با نام dt ذخیره کرده ایم، در واقع در حافظه رم کامپیوتر قرار دارند و کاربر نمی تواند چیزی را ببیند. شیء گرید (DataGridView) امکان نمایش اطلاعات یک دیتاتیبل را دارد. برای اینکه بتواند اطلاعات دیتاتیبل را نمایش بدهد کافی است تا مقدار ویژگی DataSource از گرید را برابر با دیتاتیبل مربوطه قرار دهیم.

اندکی هم درباره برنامه نویسی شیء گرا


از تعریف برنامه نویسی شیء گرا که بگذریم، آن کاری که در کد نویسی قسمت مربوط به بازیابی اطلاعات انجام دادید دقیقا خود برنامه نویسی شیء گرا بود. یعنی ما با استفاده از اشیاء برنامه نویسی و کار کردن با ویژگیهای آنها و همینطور کدهای از پیش نوشته شده در آنها توانستیم صرفا با چندین خط کد یک برنامه بسیار کاربردی و مفید را بنویسیم.

چند نکته در برنامه ما مدام در برنامه نویسی شیء گرا تکرار خواهد شد، که در اینجا بصورت مختصر به آنها خواهیم پرداخت :

  • برای استفاده از هر شیء برنامه نویسی ابتدا باید یک نمونه از آن معرفی کنیم و برای آن نمونه یک نام مشخص کنیم. در اینجا هم دقیقا همین کار را کرده ایم :

    • یک نمونه از شیء SqlConnection معرفی کرده ایم و نام آن نمونه را cn گذاشته ایم.
    • یک نمونه از شیء SqlCommand معرفی کرده ایم و نام آن نمونه را cmd گذاشته ایم.
    • یک نمونه از شیء SqlDataAdapter معرفی کرده ایم و نام آن نمونه را da گذاشته ایم.
    • یک نمونه از شیء DataTable معرفی کرده ایم و نام آن نمونه را dt گذاشته ایم.

  • هر شیء دارای ویژگیهایی می باشد که مقادیر این ویژگیها از ما گرفته می شود و بر اساس مقادیر این ویژگیها رفتار و عکس العمل های آن شیء می تواند تغییر کند. در اینجا ما با ویژگیهای زیر کار کردیم :

    • ویژگی ConnectionString از شیء SqlConnection را تنظیم کردیم تا پارامترهای اتصال به دیتابیس را تعیین نماییم.
    • ویژگی CommandText از شیء SqlCommand را تنظیم کردیم تا دستور اس کیو الی را که می خواهیم اجرا شود را تعیین نماییم.
    • ویژگی SelectCommand از شیء SqlDataAdapter را تنظیم کردیم تا برای شیء دیتا اداپتر مشخص کنیم خروجی کدام شیء کامند را برای ما بازگرداند.
    • از ویژگی DataSource در شیء DataGridView استفاده کردیم تا مشخص کنیم کدام دیتاتیبل را باید به کاربران نمایش بدهد.

  • هر شیء دارای یکسری کدهای از پیش نوشته شده در قالب Sub و یا Function می باشد که ما با استفاده از آنها می توانیم کارهای زیادی را صرفا با یک فراخوانی ساده انجام بدهیم. اصطلاحا به کدهای از پیش نوشته شده در اشیاء متد (Method) گفته می شود. پس بعد از این اگر گفتیم فلان متد از فلان شیء را فراخوانی کنید بدانید منظور همین روال های از پیش نوشته شده برای اشیاء می باشد. نمونه هایی که در اینجا استفاده کرده ایم موارد زیر می باشند :

    • متد Open از شیء SqlConnection را فراخوانی کرده ایم تا اتصال دیتابیس را برقرار کند. (اتصال را باز کند)
    • متد Fill از شیء SqlDataAdapter را فراخوانی کرده ایم تا خروجی دستور Select ما را از دیتابیس دریافت کند و در یک شیء دیتاتیبل ذخیره کند.
    • متد Close از شیء SqlConnection را فراخوانی کرده ایم تا اتصال دیتابیس را ببندد.


پروژه خود را ذخیره کنید. در آموزشهای بعدی به ادامه تکمیل آن خواهیم پرداخت.

پروژه ای را که تا الان با هم ساخته ایم از لینک زیر می توانید دانلود نمایید.

دانلود پروژه دفتر تلفن


آموزش قبلی : 21. آموزش برنامه نویسی به زبان ساده . طراحی فرم مدیریت تماسها در برنامه دفتر تلفن

آموزش بعدی : 23. آموزش برنامه نویسی به زبان ساده . افزودن اطلاعات به جداول پایگاه داده



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.