برقراری ارتباط با دیتابیس mysql در سی شارپ

سلام دوستان فکر می کنم اولین سایت فارسی زبان باشیم که داریم آموزش برقراری ارتباط با دیتابیس mysql در سی شارپ رو میگیم ! یعنی من به شخصه هیچ چیزی پیدا نکردم ! بگذریم برویم به سراغ ایجاد آن برای اینکه بتوانیم با دیتابیس mysql ارتباط برقرار بکنیم (به آن وصل شویم ) نیاز داریم تا از یکی از کتاب خانه ای سی شارپ را به پروژه خود اضافه کنیم برای این کار دو روش وجود دارد.
اگر visual studio شما 2010 به بالا است می توانید از روش اول استفاده کنید در غیر اینصورت باید به صورت دستی یک dll را import کنید.
روش اول
در قسمت سمت راست بر روی solution explorer کلیک راست کرده سپس از توی لیست باز شده گزینه manage Nuget packegs… را کلیک کرده در اینجا یک صفحه برای شما باز می شود سپس  در قسمت جستجو این کلمات (mysql.data) رو تایپ کرده و صبر کنید جستجو به پایان برسد پس از آن اولین چیزی را که پیدا کرد نصب کنید (کافی است روی دکمه install کلیک کنید ) کمی صبر کنید تا dll های مورد نیاز به صورت اتوماتیک دانلود شوند.
روش دوم
این dll را از این لینک دانلود کرده و از طریق add reference  آن را به پروژه اضافه کنید.
 
برای استفاده از این کتاب خانه در قسمت using (بخشی که کتاب خانه ها رو اضافه می کنیم ) کد زیر را قرار دهید.

اگر بخواهید در سیستم خود به دیتابیس mysql وصل شوید ( یعنی با برنامه هایی مانند wamp , xampp و… دیتابیس را به صورت داخلی (local) ایجاد کرده باشید) نیاز دارید از خط زیر برای اتصال به آن دیتابیس استفاده کنید.
 

اما اگر می خواهید به یک دیتابیس بروی یک سرور وصل شوید خط زیر را جایگزین بالایی کنید.

دقت کنید در بالا پورت را نباید تغییر دهید این port برای اتصال به دیتابیس لازم است و نکته: ممکن است این پورت توسط شخصی که هاست را از آن تهیه کرده اید بسته شده باشد علت بسته بودن آن هم داشتن باگ exploit است.برای باز کردن این پورت کافی است در خواست کنید تا پورت را برایتان بازکنند.
حال زمان بررسی برقراری ارتباط با mysql است. برای این کار از کد زیر استفاده می کنیم.

در صورتی که برقرای ارتباط به درستی انجام شود پیغام Connected به کابر نمایش می دهد در غیر اینصورت خطاهای احتمالی زیر برای شما نمایش داده می شود ما به برخی از این خطا ها رسیدیگی می کنیم
اگر پیام نمایش داده شده برابر با کد 0 بود یعنی نمی تواند به سرور متصل شود و اگر کد برابر با 1045 بود یعنی نام کاربری یا پسورد دیتابیس را اشتباه وارد کرده اید و اگر برابر با 1042 بود امکان برقراری ارتباط با ادرس ip که شما داده اید وجود ندارد ( به شکل معنی ساده نمی تواند نام host یا ایپی را resolve کند).
در آینده نزدیک (پست بعدی نحوه ( DML (Insert, Update, Select, Delete ) را خواهیم گفت.
انشالله که مفید بوده باشد.

مطالعه بیشتر