توانایی کار با دیتابیس در سی شارپ یکی از مهارتهای بسیار مهم برای توسعهدهندگان این زبان است. فرقی نمیکند که در حال ساخت نرمافزاری برای شرکتهای بزرگ هستیم یا اپلیکیشن کوچکی برای استفاده شخصی. اتصال کدهای نوشته شده در دات نت به پایگاههای دادهای مانند «SQL Server» بسیار مهم است. البته برقراری و مدیریت اتصالات بین سی شارپ و پایگاه داده «SQL Server» میتواند برای توسعهدهندگان تازهکار کمی چالشبرانگیز باشد. به همین دلیل استفاده از روشهای خوب و امن برای مدیریت این اتصالات از اهمیت زیادی برخوردار است. این مسئله به بهبود امنیت، سرعت و اتکاپذیری برنامه کمک زیادی میکند.
آنچه در این مطلب میآموزید:
-
میآموزیم چگونه چهار دستور SELECT و DELETE و UPDATE و INSERT را در سی شارپ اجرا کنیم.
-
با روشهای «اول پایگاه داده» (Database First) و «اول کد» (Code First) آشنا میشویم.
-
روش اول اتصال سی شارپ و SQL Server را با کمک Entity Framework یاد میگیریم.
-
میآموزیم که چگونه بین سی شارپ و SQL Server در Windows Forms ارتباط برقرار کنیم.
-
روش استفاده از Dapper در کدهای سی شارپ را یاد میگیریم.

در این مطلب از مجله فرادرس، روش کار با دیتابیس در سی شارپ را بررسی کردهایم. ابتدا روش اجرای چهار عملیات اصلی «Delete» و «Insert» و «Update» و «Remove» را با کمک کدهای سی شارپ بر روی پایگاه داده، تمرین کردیم. سپس سه تکنیک مختلف برای اتصال پایگاه داده SQL Server به سی شارپ را معرفی کردیم. همچنین مفاهیم پایهای برای ارتباط با دیتابیس را مرور کردهایم. به منظور کمک به درک بهتر مطلب، در تمامی بخشها از مثالهای کدنویسی شده نیز کمک گرفتیم.
روش کار با دیتابیس در سی شارپ چیست؟
برای کار با دیتابیس در سی شارپ، نصب بودن پایگاه داده مورد نظر، زبان برنامه نویسی سی شارپ و استفاده از محیط کدنویسی مناسب – ترجیحا ویژوال استودیو – جزو مسائل پیشنیاز هستند. زبان #C با پایگاههای دادهای مانند «Microsoft SQL Server» و اوراکل سازگار است. این زبان برنامه نویسی در بیشتر موارد از منطق یکسانی در مقابل دیتابیسها استفاده میکند. بعد از فراهم کردن پیشنیازها، مهمترین مورد برقراری ارتباط بین دیتابیس و سی شارپ است. در بخش بعدی دادههای، مورد نیاز برای برقراری این اتصال را معرفی کردهایم.
ایجاد اتصال
در زبان سی شارپ، اولین و مهمترین مرحله برای کار با دیتابیس، برقراری اتصال بین این دو است. برای کار با اطلاعات ذخیره شده در پایگاه داده، وجود این ارتباط ضروری است. به منظور برقرار کردن این ارتباط هم باید به اطلاعات زیر، دسترسی داشته باشیم.
- نام پایگاه داده یا منبع داده: «نام دیتابیس» (Database Name) به نام پایگاه دادهای اشاره دارد که میخواهیم کدهای سی شارپ خود را به آن متصل کنیم. این نامها نسبت به بزرگی و کوچکی حروف الفبا حساس هستند. بیشینه اندازه نامها تا ۶۴ بایت است. نام پایگاه داده میتواند شامل حروف الفبا، اعداد، خط زیر و نمادها باشد. همچنین هر اتصال، در هر لحظه فقط میتواند با یک پایگاه داده کار کند.
- اطلاعات کاربری: برای برقراری ارتباط امن با دیتابیس، باید نام کاربری و رمز عبور قوی انتخاب کنیم. رعایت این استانداردها باعث میشود که فقط کابران معتبر به پایگاه داده متصل شده و از آن استفاده کنند.
- پارامترهای انتخابی: پارامترهای دلخواه دیگری هم وجود دارند که تنظیم آنها باعث برقراری بهتر ارتباط با پایگاه داده میشود. برای مثال میتوان به روش مدیریت ارتباط توسط «Net.» یا تنظیم بیشینه زمان برقراری اتصالات اشاره کرد. اگر اتفاق خاصی بر روی پایگاه داده روی ندهد این تنظیمات میتوانند به کاربران خبر دهند. همچنین، این تنظیمات هنگام بستن ارتباط با پایگاه داده، قبل از قطع ارتباط، از کاربران سؤال میکنند.

انجام عملیات بر روی پایگاه داده
بعد از اتصال بین سی شارپ و پایگاه داده، باید بتوانیم با اطلاعات ذخیره شده در پایگاه داده کار کنیم. مهمترین عملیات برای کار با دیتابیس در سی شارپ، شامل چهار مورد فهرست زیر است.
- واکشی دادهها از دیتابیس: پس از برقرار شدن اتصال با پایگاه داده، مرحله بعدی انتخاب اطلاعات است. سی شارپ عبارتهای SQL را اجرا میکند. برای مثال میتوان به عبارتهای مربوط به واکشی اطلاعات از جداول پایگاه داده اشاره کرد. به همین دلیل، برای انتخاب اطلاعات خاص، توصیه شده که از دستور SELECT در SQL استفاده کنیم.
- وارد کردن داده به دیتابیس: زبان برنامه نویسی سی شارپ یکی از بهترین ابزارها برای افزودن اطلاعات به پایگاههای داده است. فقط باید مقادیری را که میخواهیم به شکل ردیف در پایگاه داده اضافه شوند را به شکل مرتب و منظم مشخص کنیم.
- بهروزرسانی دادههای موجود در دیتابیس: از زبان برنامه نویسی سی شارپ میتوان برای بهروزرسانی دادههای موجود در پایگاه داده نیز استفاده کرد. برای این کار، ابتدا باید مقادیر مورد نظر برای هر ردیف را مشخص کنیم. سپس با استفاده از کدهای سی شارپ آنها را به پایگاه داده ارسال میکنیم.
- حذف داده از دیتابیس: با کمک سی شارپ میتوانیم دادههایی را که به پایگاه داده اضافه شدهاند یا از قبل در پایگاه داده موجود بودند، را حذف کنیم. فقط کافیست که دستورات لازم را برای ردیفهای مورد نظر بنویسیم.

روشهای اتصال و کار با دیتابیس در سی شارپ
برای برقرار کردن اتصال و کار با دیتابیس در سی شارپ سه روش کلی وجود دارد. در این مطلب برای توضیح بهتر از پایگاه داده SQL Server استفاده کردهایم.
- روش اول: اتصال و کار با پایگاه داده SQL Server با کمک «Entity Framework»
- روش دوم: اتصال و کار با پایگاه داده SQL Server با کمک Dapper
- روش سوم: برقراری اتصال بین سی شارپ و SQL Server با استفاده از اپلیکیشن ساخته شده توسط «Windows Forms»
در بخشهای بعدی مطلب، روشهای مربوط به برقرار کردن اتصال و کار با دیتابیس در سی شارپ را یک به یک بررسی کردهایم. اما قبل از آن، با کمک چند مثال، روش نوشتن کوئری در سی شارپ را توضیح دادهایم.
مثال هایی برای کار با دیتابیس در سی شارپ
در این بخش از مطلب برای هر کدام از چهار عمل اصلی SELECT و DELETE و UPDATE و INSERT در SQL مثالهایی را بررسی کردیم.
یکی از وظایف مهم در زمان کار با دیتابیس در سی شارپ، ساخت «مدلهای داده» است. این مسئله را در بخشهایی پایینتر توضیح دادهایم. اما شاید بهترین روش یادگیری تماشای فیلمهای آموزشی باشد. به این منظور پیشنهاد میکنیم که فیلم رایگان آموزش ساخت مدل داده ای از روی دیتابیس با سی شارپ را از فرادرس مشاهده کنید. لینک مربوط به فیلم را در پایین نیز قرار دادهایم.
مثالی برای نوشتن دستور SELECT در سی شارپ
در کدهای زیر از عبارت SELECT و نوع SqlDataReader برای دسترسی به دادهها در سی شارپ استفاده کردهایم.
در کد بالا وظایف زیر به ترتیب انجام میشوند.
- ابتدا به دیتابیس SQL Server وصل میشویم.
- سپس از جدول demo، ستونهای articleID و articleName را میخوانیم.
- تمام ردیفها را در کنسول سی شارپ، چاپ میکنیم.
- بعد از کار، همهی اتصالها و منابع را میبندیم.

بعد از اجرای کد بالا، خروجی زیر، تولید شده و در کنسول سی شارپ نمایش داده میشود.
1 - C# 2 - C++
مثالی برای نوشتن دستور INSERT در سی شارپ
در این بخش از مطلب، مثالی را درباره افزودن داده به دیتابیس با استفاده از دستور Insert در سی شارپ بررسی کردهایم.
کد بالا، کارهای زیر را به ترتیب انجام میدهد.
- به دیتابیس Demodb وصل میشود.
- یک دستور insert برای اضافه کردن داده جدید آماده میکند.
- این دستور را روی دیتابیس اجرا میکند.
- بعد اتصال باز شده را میبندد.
بعد از اجرای کد بالا، خروجی به شکل جدول زیر، تولید شده و نمایش داده میشود. البته این جدول با فرض وجود پایگاه داده فرضی است. شما میتوانید پایگاه داده مورد نظر خود را بر روی کامپیوتر خود ایجاد کنید.
articleName | articleID | |
#C | 1 | 1 |
++C | 2 | 2 |
Python | 3 | 3 |
مثالی برای نوشتن دستور UPDATE در سی شارپ
در کد زیر، مثالی درباره بهروزرسانی داده در دیتابیس بررسی کردهایم. در این کد از عبارت Update در سی شارپ استفاده کردهایم.
کد بالا، کارهای زیر را به ترتیب انجام میدهد.
- به دیتابیس Demodb در سرور DESKTOP-GP8F496 وصل میشود.
- در جدول demo ، دنبال رکوردی میگردد که شماره articleID آن برابر با 3 است.
- اگر این رکورد را پیدا کند، مقدار articleName آن را به django تغییر میدهد.
- در پایان، اتصال به دیتابیس را قطع میکند.

بعد از اجرای کد بالا، خروجی به شکل جدول زیر، نمایش داده میشود. البته این جدول بر اساس پایگاه داده فرضی تهیه شده است. بر روی هر کامپیوتر با توجه به پایگاه داده موجود و کدهای مرتبط با آن خروجی متفاوتی نمایش داده میشود. در صورت عدم وجود پایگاه داده امکان برقراری اتصال نیز وجود نداشته و کامپایلر پیغام خطا میدهد.
articleName | articleID | |
#C | 1 | 1 |
++C | 2 | 2 |
django | 3 | 3 |
مثالی برای نوشتن دستور DELETE در سی شارپ
در کادر زیر، مثال کدنویسی شدهای را برای اجرای دستور Delete بر روی دادههای دیتابیس، در سی شارپ، پیادهسازی کردهایم. در این مثال، یکی از دادهها از پایگاه داده، حذف شده است.
کد بالا، کارهای زیر را به ترتیب انجام میدهد.
- به دیتابیس Demodb روی سرور DESKTOP-GP8F496 وصل میشود.
- در جدول demo به دنبال رکوردی میگردد که شماره articleID آن برابر با 3 باشد.
- در صورت پیدا کردن رکورد، آن را با دستور DELETE پاک میکند.
- در آخر، ارتباط برقرار شده با دیتابیس را میبندد.
بعد از اجرای کد بالا، خروجی به شکل جدول زیر، نمایش داده میشود. البته این جدول بر اساس پایگاه داده فرضی تهیه شده است. در صورت نصب نبودن پایگاه داده یا درست نبودن اطلاعات لازم برای اتصال دیتابیس به سی شارپ، کامپایلر پیغام خطا برمیگرداند.
articleName | articleID | |
#C | 1 | 1 |
++C | 2 | 2 |
برای اجرای این برنامهها لازم است که بتوانید به درستی با سی شارپ در محیط دات نت کار کنید. یکی از بهترین فضاهای کدنویسی سی شارپ ویژوال استودیو است. به منظور آموزش روش کدنویسی با سی شارپ در ویژوال استودیو میتوانید مطلب مربوط به آن را در مجله فرادرس مطالعه کنید.
چگونه با کمک فرادرس پایگاه های داده مختلف را یاد بگیریم؟
فرادرس برای کمک به آشنایی و یادگیری استفاده از پایگاههای داده مختلف، منابع متنی و محتوی ویدئویی متنوعی تولید و منتشر کرده است. یکی از بهترین منابع موجود در فرادرس، مجموعه آموزش پایگاه داده آن است. در این مجموعه آموزش، فیلمهای گوناگونی برای کمک به شناخت و یاد گرفتن استفاده از پایگاههای داده متنوع، مانند دیتابیسهای SQL محور و دیتابیسهای NoSQL تولید و منتشر شده است. هر کدام از علاقهمندان با توجه به سلیقه یا نیاز خود میتوانند فیلم مورد نظر خود را پیدا کنند.

در این مطلب برای نمایش روش کار با دیتابیس در سی شارپ، از SQL Server استفاده کردهایم. با تسلط بر روی سی شارپ، ویژوال استودیو و SQL Server میتوانید نرمافزارهای کاربردی و تحت وب بسیار خوبی ایجاد کنید. زیرا این نرمافزارها همگی ساخت شرکت مایکروسافت هستند. در نتیجه به بهترین شکل ممکن با یکدیگر منطبق شده و همکاری میکنند. در پایین چند مورد از فیلمهای مربوط به دیتابیسهای مختلف را قرار دادهایم. برای تماشای فیلمهای بیشتر و متنوعتر میتوانید از مجموعه آموزش پایگاه داده، استفاده کنید.
در ادامه، سه روش مختلف را برای اتصال سی شارپ و SQL Server، توضیح دادهایم.
روش اول اتصال سی شارپ و SQL Server با کمک Entity Framework
«Entity Framework» از نوع فریمورکهای «نگاشت شیء رابطهای» (Object Relational Mapping | ORM) است. یعنی اینکه به کاربران کمک میکند تا لایه دسترسی به دادهها را با استفاده از سی شارپ به روشی تمیز، قابل حمل و سطح بالا ایجاد کنند. این لایه دسترسی به طور کامل با تمام پایگاههای داده SQL سازگار است. در واقع، این روش، یکی از سادهترین و پرکاربردترین راهها برای برقراری ارتباط و کار بین سی شارپ و دیتابیس SQL Server است. زیرا در این روش دیگر کاربر نیازی به نوشتن هیچ کوئری اس کیو الی ندارد.
برای ایجاد ارتباط بین زبان سی شارپ و پایگاه داده SQL Server، شش مرحله زیر را به شکل گامبهگام طی میکنیم.
- نصب پکیج مخصوص Entity Framework از «NuGet»
- تعریف «مدل داده» (Data Model)
- ساخت کلاس DbContext
- پیکربندی «رشته اتصال»
- مقداردهی اولی به پایگاه داده
- استفاده از DbContext در کدهای نوشته شده
در ادامه، همه مراحل بالا را به ترتیب و همراه با نمایش کدهای مرتبط توضیح دادهایم.
گام اول نصب پکیج Entity Framework از NuGet
NuGet ابزاری برای مدیریت پکیج در «NET.» است. این ابزار به توسعهدهندگان برای ساخت و استفاده از پکیجهای برنامه نویسی کمک میکند. گالری NuGet مکان اصلی ذخیرهسازی تمامی پکیجهای «NET.» است. این پکیجها در دسترس تمام کاربران قرار میگیرند. برای نصب پکیج Entity Framework میتوانیم از کد زیر استفاده کنیم.
Install-Package EntityFramework
گام دوم تعریف مدل داده
برای تعریف مدل داده باید از شی گرایی در سی شارپ استفاده کنیم. کلاسها نشاندهنده موجودیتهای مختلف هستند. «موجودیتها» (Entities) نیز معادل جداول پایگاه داده در نظر گرفته میشوند.

در کادر زیر، مثال سادهای درباره تعریف مدل داده یا «موجودیت» (Entity) را بررسی کردهایم.
گام سوم ساخت کلاس DbContext
برای نمایش ساختار یا فضای پایگاه داده باید از کلاس خاصی استفاده کنیم. این کلاس باید از کلاس DbContext ارثبری کند. ارث بری در سی شارپ باعث میشود که کلاس فرزند تمام به ویژگیها و متدهای کلاس والد خود دسترسی داشته باشد. در واقع، این کلاس، مسئول تعامل با پایگاه داده است.
در کد زیر، سینتکس پیادهسازی کلاس فرزند را برای کلاس DbContext بررسی کردهایم.
گام چهارم پیکربندی رشته اتصال
در پروژه باید فایلی به نام App.config یا Web.config داشته باشیم. لازم است که «رشته اتصال» (Connection String) به پایگاه داده را در این فایلها قرار بدهیم. در کد زیر، نمونهای از رشته اتصال را نوشتهایم.
گام پنجم مقداردهی اولیه به پایگاه داده
در اپلیکیشنهای سی شارپ معمولا متد Main و در صفحات اینترنتی، متد Application_Start وجود دارد. برای راهاندازی دیتابیس لازم است کدهای مشخصی را به این متدها اضافه کنیم. برای انجام این کار، هم میتوانیم از «Migration-های» Entity Framework استفاده کنیم و هم Database.Initialize را در کدهای خود فراخوانی کنیم. در کادر زیر، روش ساده این عملیات را نوشتهایم.
گام ششم استفاده از DbContext در کدهای نوشته شده
بعد از انجام گامهای بالا، اکنون و در این گام برای اجرای عملیات مختلف بر روی پایگاه داده میتوانیم از DbContext استفاده کنیم. در کد زیر، نمونه استفاده از کلاس فرزند DbContext را برای اجرای عملیات بر روی دیتابیس مشاهده میکنید.
با پیروی از مراحل بالا، به سادگی میتوانیم از طریق زبان سی شارپ با پایگاه داده SQL Server ارتباط برقرار کرده و تعامل کنیم. برای انجام این کار از Entity Framework و رویکرد «اولکد» (Code-First) استفاده کردهایم. این روش، استفاده از پایگاه داده را با کمک کلاسهای سی شارپ سادهتر کرده است. Entity Framework به صورت خودکار دستورات و تعاملات بین دنیای شی گرایی در سی شارپ را با دنیای جدولها و رابطههای SQL Server، مدیریت میکند.
مزایای استفاده از Entity Framework برای کار با دیتابیس در سی شارپ
استفاده از Entity Framework برای کار با دیتابیس در سی شارپ، مزایای زیادی دارد. در فهرست زیر، سه مورد از مهمترین مزیتهای انجام این کار را نوشتهایم.
- با کمک Entity Framework میتوانیم از کدهای سی شارپ برای نوشتن کوئری استفاده کنیم. بهجای اینکه کوئریهای خود را به زبان SQL بنویسیم.
- این فریمورک دادهها را مانند شیء در نظر میگیرد.
- با کمک Entity Framework میتوانیم امکانات و ویژگیهای پیشرفتهتری را در اختیار کاربران نهایی قرار بدهیم.

روش دوم کار با SQL Server با کمک Dapper
«Dapper» یکی دیگر از کتابخانههای «نگاشت شیء رابطهای» (Object-Relational Mapping | ORM) است. این کتابخانه برای کار با اپلیکیشنهای ساخته شده در «NET.» و «NET Core.» نوشته شده و به شکل اوپن سورس عرضه شده است. کتابخانه Dapper، بدون نیاز به نوشتن کدهای زیاد، امکان دسترسی ساده به اطلاعات پایگاه داده را فراهم میکند. استفاده از Dapper یکی از گزینههای توصیه شده برای برقرار کردن ارتباط بین سی شارپ و پایگاه داده SQL Server است. زیرا با کمک Dapper میتوانیم کوئریهای معمولی را به سادگی نوشته و اجرا کنیم. سپس نتیجههای بدست آمده به سادگی با دادههای پایگاه داده تطبیق داده میشوند.
برای کار با دیتابیس در سی شارپ به کمک Dapper لازم است که سه مرحله زیر را به ترتیب پشت سر بگذاریم.
- نصب پکیج مخصوص Dapper از NuGet
- ساخت مدل داده مورد نظر
- استفاده از Dapper در کدهای سی شارپ
تمام مراحل بالا را به ترتیب در پایین، توضیح دادهایم.
مرحله اول نصب پکیج مخصوص Dapper از NuGet
در مرحله اول از بخش قبل، توضیح دادیم که NuGet چیست. برای دانلود کردن پکیج Dapper از NuGet، میتوانیم از کد زیر استفاده کنیم.
Install-Package Dapper
ساخت مدل داده مورد نظر
برای ساخت مدل داده در سی شارپ باید کلاس تعریف کنیم. این کلاس، موجودیتی را مشخص میکند که اطلاعات مربوط به آن را در پایگاه داده ذخیره کردهایم یا خواهیم کرد. در نتیجه این موجودیت معادل با جدول در پایگاه داده است. یعنی اینکه از روی کلاس نوشته شده در سی شارپ، در پایگاه داده جدولی معادل آن ساخته میشود.
نکته: از وجود و عملکرد صحیح «رشته اتصال» (Connection String) بین اپلیکیشن و پایگاه داده مطمئن شوید.
استفاده از Dapper در کدهای سی شارپ
در این بخش از مطلب، با استفاده از Dapper، انواع عملیات خواندن، افزودن، بهروزرسانی و حذف دادهها را انجام دادهایم.
در کدهای بالا دستورات مربوط به SELECT و INSERT و UPDATE و DELETE در SQL به ترتیب از بالا به پایین در بخشهای مختلف نوشته شدهاند.
- در بخش اول کدها همهی دادههای جدول YourTable خوانده شده و داخل data ذخیره میشوند.
- در بخش بعدی، رکورد جدیدی با مقدار New Data به جدول اضافه میشود.
- سپس رکوردی که شماره id آن برابر با 1 است – با کد Id = 1 - را پیدا کرده و فیلد Property آن را بهروزرسانی کردهایم.
- در بخش آخر نیز رکوردی که Id = 2 دارد را در جدول پیدا کرده و حذف کردیم.

Dapper برای کلاس SqlConnection چند متد اضافی فراهم کرده است. با کمک این متدها اجرای کوئریها و دستورات مختلف بر روی دیتابیس سادهتر شده است. متد Query برای انجام کوئریهای مربوط به دستور SELECT در SQL به کار برده میشود. متد Execute هم برای اجرای عملیات مربوط به دستورات INSERT و UPDATE و DELETE در پایگاه داده استفاده میشود.
مزایای استفاده از Dapper
استفاده از Dapper برای کار با دیتابیس در سی شارپ، مزیتهای مختلفی دارد. در فهرست زیر، دو مورد از مهمترین مزیتهای انجام این کار را نوشتهایم.
- پکیج Dapper، سرعت و کیفیت عملکرد زیادی دارد.
- Dapper با دادهها مانند اشیا رفتار میکند.
فیلم های آموزشی سی شارپ در فرادرس
زبان سی شارپ به دلیل داشتن قابلیتهایی مثل برنامهنویسی شیگرا، مدیریت خودکار حافظه و امنیت بالا، به ابزار مناسبی برای ساخت نرمافزارهای مقیاسپذیر و باکیفیت تبدیل شده است. این زبان در زمینههای متنوع مانند بازیسازی، ساخت نرمافزارهای کاربردی، برنامههای تحت وب و موارد دیگر، بازار کار خوبی دارد. به همین دلیل، افراد زیادی علاقهمند به یادگیری سی شارپ هستند. وبسایت آموزشی فرادرس، فیلمهای آموزشی ارزشمندی را برای این کار، تهیه کرده است.
در فهرست بالا، چند فیلم از مجموعه آموزشی «سیشارپ، از مقدماتی تا پیشرفته» معرفی شدهاند. برای تماشای فیلمهای بیشتر بر روی تصویر زیر کلیک کنید.

روش سوم برقراری اتصال بین سی شارپ و SQL Server در Windows Forms
فرض کنیم که میخواهیم اتصالی بین پایگاه داده و سی شارپ با نام Demodb ایجاد کنیم. نام کاربری را برابر با sa و کلمه عبور را هم برابر با demo123 قرار دادهایم. تمام کاربران مهم با استفاده از این اطلاعات میتوانند با پایگاه داده ارتباط برقرار کنند.
در این روش برای برقراری اتصال و کار با دیتابیس باید مراحل زیر را یک به یک طی کنیم.
- ساخت پروژه جدید
- افزودن دکمه به فرم
- افزودن Event Handler
- کدنویسی برنامه

این پروژه به این صورت است که فرمی را با کمک Windows Forms ایجاد میکنیم. بر روی این فرم دکمهای را قرار میدهیم. کاربران با استفاده از این دکمه ساده میتوانند بین پایگاه داده SQL Server و زبان سی شارپ اتصال ایجاد کنند. در بخشهای بعدی، تمام مراحل فهرست بالا را توضیح دادهایم.
مرحله اول ساخت پروژه جدید
برای شروع به کار با SQL Server ابتدا باید پروژه جدیدی ایجاد کنیم. بنابراین ویژوال استودیو را راهاندازی میکنیم. وقتی که پنجره ویژوال استودیو باز شد و آماده فعالیت بود، در بالا بر روی منوی «File» کلیک کرده و سپس گزینه «New» را انتخاب میکنیم. سپس از فهرست باز شده بر روی عبارت «Project» کلیک میکنیم.

در این بخش باید گزینه «Windows Forms» را انتخاب کنیم. این گزینه، نوع پروژه را مشخص میکند. بعد از آن به صفحه بعد رفته و نام پروژه و مکان ذخیرهسازی آن را هم انتخاب میکنیم. در نهایت و پس از کلیک بر روی «OK»، پروژه ما ساخته میشود.

قبل از رفتن به بخشهای بعدی، روش دیگری برای ساخت پروژه را به شکل خلاصه و فهرستوار بیان میکنیم.
- در بخش «Project Dialog Box» در ویژوال استودیو، میتوانید انواع مختلفی از پروژهها را انتخاب کنید. به بخش سمت چپ پنجره اصلی ویژوال استودیو رفته و بر روی گزینه «Windows» کلیک کنید.
- سپس از لیست باز شده بر روی گزینه «Windows Forms Application» کلیک کنید. نام اپلیکیشن مورد نظر خود را انتخاب کرده و محلی را برای ذخیره فایلهای پروژه، مشخص کنید. در این مثال، نام پروژه خود را DemoApplication گذاشتهایم.
- در نهایت، بر روی دکمه «OK» کلیک کنید تا پروژه جدیدی در ویژوال استودیو ایجاد شود.
مرحله دوم افزودن دکمه به فرم
برای برقراری اتصال باید دکمهای را بر روی فرم قرار دهیم. در بخشهای بعدی، دستورات مربوط به اتصال سی شارپ به SQL Server را هم به این دکمه اضافه کردهایم. روش اضافه کردن دکمه به فرم را در فهرست زیر توضیح دادهایم.
- ابتدا به بخش «Toolbox» رفته و دکمهای را به فرم باز شده اضافه کنید. برای این کار کافی است که بر روی گزینه «Button» کلیک کرده و آن را بر روی فرم کشیده و رها کنید.
- بر روی دکمه باز شده، راست کلیک کرده و گزینه «Properties» را انتخاب کنید. این پنجره به شکل پیشفرض در پایین سمت راست صفحه باز میشود.
- در پنجره Properties مقدار مربوط به مشخصه «Text» را برابر با «Connect» قرار دهید. در این بخش میتوانید ظاهر دکمهای را که بر روی فرم قرار دارد، مشخص کنید.

مرحله سوم افزودن Event Handler
برای افزودن «Event Handler» به کدها، باید بر روی پنجره فرم دابل کلیک کنیم. از Event Handler برای مدیریت رویدادهای مربوط به کلیک شدن دکمه استفاده میکنیم. کدی که در زیر نوشته شده را کپی کرده و آن را در Event Handler پِیست کنید.
توضیح کدها
در این بخش تمام کدهای نوشته شده در Event Handler مربوط به دکمه روی فرم را توضیح دادهایم.
- در بخش اول کد، متغیرها را تعریف کردیم. این متغیرها به ساخت «رشته اتصال» کمک میکنند. همچنین از این متغیرها برای برقراری ارتباط بین دیتابیس و سی شارپ هم استفاده میشود.
- در بخش بعدی کد، رشته اتصال را ایجاد کردهایم. باید از اینکه این کد به روش درست آن در سی شارپ نوشته شده، مطمئن شویم. وجود این کد به درک بهتر «رشته اتصال» توسط توسعهدهندگان کمک میکند. رشته اتصال شامل موارد فهرست زیر است.
- Data Source: پارامتر Data Source به معنی نام سرور است. سرور مکانی است که دادهها در آن ذخیره میشوند. در این مثال، ماشینی که دادهها بر روی آن ذخیره شدهاند WIN-50GP30FGO75 نام دارد.
- Initial Catalog: از پارامتر Initial Catalog برای مشخص کردن نام پایگاه داده استفاده میشود.
- User ID و Password: برای ارتباط برقرار کردن با پایگاه داده به اطلاعات مربوط به لاگین نیاز داریم. این اطلاعات شامل پارامترهای User ID و Password هستند.
- در بخش سوم کدها، رشته اتصال را به متغیر cnn اختصاص دادهایم. این متغیر از نوع SqlConnection است. بیشترین کاربرد این متغیر کمک به ایجاد اتصال بین سی شارپ و پایگاه داده است.
- سپس از متد Open() بر روی متغیر cnn استفاده میکنیم. این متد برای برقرار کردن ارتباط به کار برده میشود. وقتی که ارتباط برقرار شد، پیامی بر روی صفحه نمایش ظاهر میشود. این پیام وضعیت ارتباط برقرار شده را تایید میکند.
- بعد از اینکه عملیات برقراری اتصال با دیتابیس با موفقیت انجام شد. اتصال برقرار شده را میبندیم. اگر هیچ کار دیگری با دادهها در پایگاه داده نداشته باشیم، بهترین کار بستن اتصال باز شده است.
این پروژه را به سادگی و با کمک ویژوال استودیو میتوانید اجرا کنید. فقط کافی است که کدهای بالا را در جای درستی در فایل سی شارپ بنویسید. اگر به شکل صحیح، برنامه بالا را اجرا کنید، نتایج درستی دریافت خواهید کرد. بعد از اینکه فرم بر روی صفحه نمایش ظاهر شد، فقط کافی است که بر روی دکمه «Connect» کلیک کنید. اکنون پیغامی بر روی صفحه نمایش ظاهر میشود. این پیغام بیان میکند که ارتباط با پایگاه داده با موفقیت برقرار شده است.
جمعبندی
برای کارکردن با دیتابیس در سی شارپ، یکی از بهترین گزینهها «Microsoft SQL Server» است. SQL Server «سیستم مدیریت پایگاههای داده رابطهای» (Relational Database Management System | RDBMS) است. این ابزار به کسبوکارها کمک میکند که همیشه به خوبی با دادههای خود کار کنند. پایگاههای داده رابطهای معمولا برای دریافت و ذخیرهسازی اطلاعات، انجام کارهای مربوط به هوش تجاری، مدیریت دادهها و تجزیه و تحلیل دادهها به کار برده میشود. کار با دیتابیس در سی شارپ، مخصوصا دیتابیس SQL Server امنیت، سرعت و اتکاپذیری بیشتری را فراهم میکند.
در این مطلب از مجله فرادرس روش برقراری اتصال و کار با دیتابیس در سی شارپ را بررسی کردهایم. همزمان با بیان سه روش مختلف برای اینکار، کدهای مربوط به آنها را نمایش داده و عملیات مربوط به SELECT و INSERT و DELETE و UPDATE در SQL را هم پیادهسازی کردیم.
source