my sql و c# چگونه ؟چطور؟


خیلی از دوستان این روزها به فکر استفاده از دیتابیسهای جدید و دور کردن خود از SQL Server  هستند .

یکی از این نوع دیتا بیسها MySql  هست که یک نوع بانک اطلاعاتی باز متن هست . اما چطور میتوانیم کد منبع خود را به این پایگاه داده متصل کنیم .

با من  تا انتهای این مقاله همرا ه باشید .

حتما به نتیجه خواهید رسید.

در ابتدای امر میبایستmysql.net conector ‌رو دریافت کرده و نصب کنید.پس از نصب این برنامه دیگر کلیه تنظیمات برای دیگر پروژه های شما قابل اعمال است .

MySQL Connector/Net

آماده سازی بانک اطلاعاتی MYSQL  :
کار زیاد خاصی با MySQL .NET ندارید بجز اینکه بانک خودتون رو آماده کنید برای اینکار باید یک جدول داشته باشید . . . .من بصورت پیشفرض یک مثال برای ساخت جدول در mysql ‌میزنم .البته اگر با phpmyadmin‌کار کرده باشید این کار بازهم ساده تر خواهد شد.

Create database aec;
Grant insert, update, select, delete on aec.* to ‘aec_user’@'localhost’ identified by ‘aec’;
Create table aec.samples (
id int auto_increment,
description varchar(255),
site_id int,
received datetime,
processed datetime,
primary key (id));
Insert into aec.samples (description, site_id, received) values (‘clay desposit’, 27, now());
Insert into aec.samples (description, site_id, received) values (‘burial urn’, 103, now());

خوب حالا تنها مشکل ما این هست که چطور میشه به دیتابیس متصل شد :

افزودن MYSQL conector Refrence‌به پروژه :

mysql connector‌خودش به صورت اتوماتیک به پروژه اضافه نمیشه بلکه ما باید اینکار رو به صورت دستی انجام بدیم .و البته این بسنگی به IDE  داره که شما استفاده میکنید مثلا این راه :project>refrences>mysql.data‌را از لیست انتخاب نمایید.

بارگذاری mysql connector در c# :

حالا نوبت به مرحله تعریف عناصر منبع mysql در کد شما میرسه :

using MySql.Data.MySqlClient;

در این مثال Dataset  مورد استفاده هست بنابر این System Data object میبایست به شکل زیر مورد دستیابی قرار گیرد:

using System;
using System.Data;
:برای ساختن فرم هم  اینچنین عمل میکنیم
using System.Windows.Forms;
using System.Drawing;

حال پروژه تا قسمتی آماده شده.

استفاده از اطلاعات Mysql  در فرمها :

این برنامه ای که الان مشغول نوشتنش هستیم چه کارهایی انجام میده :

  1. یک کانکشن با Mysql  داره
  2. یک پرس و جوی sql ‌رو به صورت مناسب نمایش میده
  3. دیتا ها رو در یک گرید نمایش میده

 

public class MainForm : Form {
private MySqlConnection connection = new MySqlConnection ();
private MySqlDataAdapter data = new MySqlDataAdapter ();
DataGrid gridInfo = new DataGrid();

خوب حالا برای وصل شدن به دیتابیس باید اطلاعات بانک اطلاعاتی و نحوه اتصال اوون رو به همراه فراخوانی متد   در کد قرار میدهیم

public static void Main () {
Application.Run(new MainForm ());
}
public MainForm() {
connection.ConnectionString =
“server=localhost;”
+ “database=aec;”
+ “uid=aec_user;”
+ “password=aec;”;
connection.Open ();
حالا پرس و جو رو ایجاد میکنیم
MySqlCommand command = connection.CreateCommand ();
command.CommandText = “select * from samples”;
و در نهایت پاسخ در دیتاست بارگذاری میشود (توی این مثال ما “سمپل دیتا” رو دادیم (ببخشید از اینکه فارسی نوشتم چون مشکلی بین کاراکترهای فارسی و انگلیسی بوجود اوومده و حال ندارم به دنبال رفع و محل عیب بگردم واسه همین فارسیشو مینویسم
Wink
data.SelectCommand = command;
DataSet dataset = new DataSet();
data.Fill(dataset,”sample_data”);
:گرید میتونه محتویات دیتاست رو نمایش بده 
gridInfo.DataSource = dataset;
gridInfo.DataMember = “sample_data”;
gridInfo.Dock = DockStyle.Fill;
:در نهایت هم باید گرید رو به فرمتون اضافه کنید 
this.Controls.Add (gridInfo);
}
:بستن کانکشن
:کانکشن مای اس کیو ال زمانی که ما متد پایان را فراخوانی کنیم بسته خواهد شد 
~MainForm() {
connection.Close();
}
اگر مقالات بیشتری در این زمینه نیاز دارید حتمت نظر بدهید تا مقالاتی از این دست رو تکمیل کنم 
مخصوصا ارتباط بین سی شارپ و مای اس کیو ال
موفق باشید.

پستهاي مشابه :