اتصال به دیتابیس با استفاده از ابزارهای ویژوال استودیو

قبل از ورود به مبحث ADO.NET، اجازه بدهيد ابتدا به برخي از ابزارهاي ويژوال استوديو نگاهي بيندازيم. مثال زير يک راه براي اتصال به ديتابيس بدون استفاده از کدنويسي را نشان می‌دهد.

ايجاد يک اتصال به ديتابيس

Visual Studio را باز کنيد و يک برنامه ويندوزي جديد ايجاد کنيد. نام برنامه‌تان را DatabaseConnection بگذاريد. در ويژوال استوديو بر روی تب Server Explorer که در حالت پيشفرض در تب سمت چپ پنجره ویژوال استودیو (شکل زير) قرار دارد کلیک کنید.
database-connection-01
اگر Server Explorer را پيدا نکرديد می‌توانید از مسير View > Server Explorer براي يافتن آن اقدام کنيد. بر روي آيکون Connect to Database واقع در Database/Server Explorer کليک کنيد (شکل زير).
database-connection-02
با کليک بر روي اين آيکون پنجره زير نمايش داده می‌شود.
database-connection-03
مطمئن شويد که در داخل کادر اول Data source، جمله‌ی Microsoft SQL Server Database File نوشته شده است (شکل بالا). اگر نبود می‌توانید با کليک بر روي دکمه Change منبع داده مناسب را انتخاب کنيد. همچنين لازم است در قسمت Databae file name نام ديتابيسي که قبلاً ايجاد کرده‌اید را وارد نماييد. براي اين کار بر روي دکمه Browse تا کادر محاوره‌ای open dialog ظاهر شود. در حالت پيشفرض دیتابیس‌های ایجاد شده توسط ویژوال استودیو در مسیر C:\Users\YourName\Documents قرار دارند. فايل University.mdf (که در درس قبل ایجاد کرده‌اید) را يافته و آن را انتخاب کنيد. اگر هم درس‌های قبل را انجام نداده‌اید و دیتابیس را در اختیار ندارید، بهتر است به درس قبل برگشته و آن را ایجاد کنید و سپس با استفاده از دکمه Browse ی که در بالا اشاره شد آن را انتخاب کرده و سپس بر روي دکمه Open کليک کنيد. اگر پيغام خطايي مشاهده کرديد بدانيد که فايل مذکور به وسيله يک برنامه ديگر در حال اجراست.
database-connection-18
برنامه Services را به وسيله کليک بر روي منوي Start و نوشتن کلمه Servises در جعبه جستجو (search) اجرا کنيد. از گزینه‌های ظاهر شده بر روي view Local Services کليک کنيد تا پنجره‌ای ظاهر شود. از داخل اين پنجره SQL Server (SQLEXPRESS) service را يافته و بر روي آن راست کليک کنيد. گزينه Restart را انتخاب کرده تا service ريستارت شود.
database-connection-19
بعد از ريستارت شدن آن، می‌توانیم به عقب برگرديم و از نو فايل University.mdf را انتخاب کرده و سپس بر روي دکمه Open کليک کنيم :
database-connection-20
بعد از کليک بر روي دکمه Open، دکمه Test Connection در پنجره Add Connection را کليک کنيد تا تست شود که آيا برنامه‌مان می‌تواند با ديتابيس ارتباط برقرار کند يا نه؟ اگر هيچ اشتباهي رخ ندهد، سپس يک پيغام موفقيت نمايش داده می‌شود.
database-connection-21
بر روي دکمه Ok کليک کنيد تا پنجره فوق بسته شود. شما همچنين می‌توانید از Authentication mode نيز استفاده کنيد. می‌توانید از اعتبارسنجي ويندوز (Windows Authentication) يا اعتبارسنجي SQL Server (SQL Server Authentication) استفاده نماييد. اگر از اعتبار سنجي SQL Server (SQL Server Authentication) استفاده می‌کنید بايد username و password در اختيار داشته باشيد. بر روي دکمه OK کليک کرده تا پنجره Add Connection بسته شود و فايل ديتابيس به پنجره Server Explorer اضافه شود.
database-connection-06
اين پنجره (Server Explorer) به شما اجازه مشاهده محتويات ديتابيس را می‌دهد. اگر بر روي علامت فلش کنار نام University.mdf کليک کنيد، قسمت‌های ديگر مانند جداول و رویه‌های ذخيره شده (stored procedures) را مشاهده خواهيد کرد. با کليک بر روي علامت فلش کنار کلمه Tables جدول Students نمايش داده می‌شود و با کليک بر روي فلش کنار اين جدول ستون‌های آن نمايش داده می‌شوند (شکل زير).
database-connection-07

ايجاد DataSet

يک DataSet را می‌توان به عنوان يک ديتابيس کوچک که در حافظه رم کامپيوتر قرار دارد، در نظر گرفت. DataSet داراي يک يا چندين جدول همانند جداول موجود در پايگاه داده اصلي می‌باشد. DataSet اطلاعات لازم را از پايگاه داده اصلي می‌گیرد و آنها را در جداول خود ذخيره می‌کند. براي ايجاد يک Dataset که محتويات ديتابيسي که می‌خواهیم به آن وصل شويم را در خود نگهداري می‌کند، پنجره Data Sources استفاده می‌کنیم. اگر اين پنجره را پيدا نکرديد به مسير Project > Add New Data Sources برويد. در حالت پيشفرض اين پنجره در سمت چپ محيط ويژوال استوديو قرار دارد.
database-connection-08
بر روي دکمه Add New Data Source کليک کنيد تا پنجره زير با عنوان Data Source Configuration Wizard نمايش داده شود.
database-connection-09
گزينه Database را انتخاب کرده و بر روي دکمه Next کليک کنيد.
database-connection-10
در پنجره بالا Dataset را انتخاب و بر روي دکمه Next کليک کنيد.
database-connection-11
در جعبه باز شونده (combo box) پنجره Data Source Configuration Wizard، از انتخاب ديتابيس University.mdf که با استفاده از Server Explorer به آن متصل شده‌ایم، مطمئن شويد. بر روي دکمه Next کليک کنيد.
database-connection-12
پس از زدن دکمه Next پنجره بالا نمايش داده می‌شود که داراي پيغامي است و به شما می‌گوید که لازم است فایل‌های ديتابيس در پوشه پروژه کپي شوند که با کليک بر روي دکمه yes اين کار انجام می‌شود. با نگاه کردن به پنجره Solution Explorer و مشاهده نام University.mdf متوجه می‌شوید که عمل کپي انجام شده است.
database-connection-13
اين پنجره نيز نشان دهنده رشته اتصالي (connection string) است که با استفاده از آن می‌توان به ديتابيس University وصل شويم. درباره رشته اتصال (connection string) در درس آينده توضيح می‌دهیم. با تنظيمات اين پنجره کاري نداريم و بر روي دکمه Next کليک می‌کنیم.
database-connection-14
صبر کنيد که محتويات ديتابيس بارگذاري شود. سپس از شما سؤال می‌شود که می‌خواهید کدام يک از قسمت‌های ديتابيس در داخل DataSet قرار بگيرند. از آنجاييکه ما فقط به جداول نياز داريم گزينه Tables را تيک می‌زنیم. کادر DataSet name مشخص کننده نام DataSet ي است که قبلاً ايجاد کرده‌ایم. بر روي گزينه finish کليک کرده تا DataSet ايجاد شود.
database-connection-15
مشاهده می‌کنید که DataSet در پنجره Data Sources ايجاد می‌شود. وقتي که بر روي فلش کنار اسم DataSet کليک کنيم جداولي که در آن قرار دارند نمايش داده می‌شوند. با باز کردن هر جدول هم فيلدها و ستون‌های آن نمايان می‌شوند.

نمايش داده‌های جدول با استفاده از کشيدن و انداختن (Drag and Drop)

اکنون وارد بخش هيجان انگيز آموزش می‌شویم. با DataSet مان که در پنجره Data Sources قرار دارد، می‌توانیم به راحتي يک جدول را بر روي فرم بکشيم. حتي می‌توان هر کدام از ستون‌های جدول را هم بر روي فرم کشيد ولي در حال حاضر ما همه جدول را به فرم انتقال می‌دهیم.
database-connection-16
بعد از کشيدن جدول را بر روي فرم و رها کردن آن، ويژوال استوديو به طور خودکار يک کنترل DataGridView و تمام ابزارهای لازم (که با رنگ زرد در شکل بالا مشخص شده‌اند) جهت واکشی اطلاعات جدول Student را بر روی فرم قرار می‌دهد. DataGridView به شما اجازه مشاهده انواع داده‌های مختلف را در يک جدول (مثلاً يک جدول از ديتابيس يا مقادير يک آرايه چند بعدي) می‌دهد. همانطور که مشاهده می‌کنید تمام ستون‌های جدول Students به طور خودکار در DataGridView نمايش داده می‌شود. می‌توانید با اختصاص مقدار Fill به خاصيت Dock کنترل DataGridView کاري کنيد که DataGridView تمام فضاي فرم را در بر بگيرد. با استفاده از کنترل BindingNavigator ( که شبيه نوار ابزار در بالاي فرم قرار می‌گیرد) می‌توان در ميان رکوردهاي جدول حرکت کرده و آنها را ويرايش يا حذف کرده و يا يک رکورد جديد به جدول اضافه نماييد. با اجراي برنامه مشاهده می‌کنید که همه رکوردها در DataGridView نمايش داده می‌شوند. شما می‌توانید با استفاده از کنترل BindingSourceNavigator محتويات ديتابيس را ويرايش نماييد.
database-connection-17
می‌توان با استفاده از دکمه‌های کنترل مذکور از در بين رکوردها حرکت کرد. علامت + به شما اجازه اضافه کردن يک رکورد جديد را می‌دهد. با اضافه شدن هر رکورد مقدار ستون StudentID به طور خودکار يک واحد اضافه می‌شود.
با دو بار کليک بر روي فيلدهاي هر رکورد می‌توانید آنها را ويرايش نماييد. براي حذف يک رکورد ابتدا آن را انتخاب کرده و سپس بر روي علامت ضربدر قرمز رنگ کليک کنيد. اگر در رکوردهاي بالا تغييراتي اعمال کرديد بر روي دکمه ذخيره کليک کنيد تا تغييرات به ديتابيس ارسال شود.