PDA

View Full Version : سوال: ساخت یک برنامه تحت ویندوز با بانک اطلاعاتی تحت وب



Farzadak2010
دوشنبه 04 اردیبهشت 1391, 17:18 عصر
سلام
برای اتصال MySql به #C کدوم راه بهتره ؟
لطفا بگید کدوم کد برای اجرا بهتره از نظر سرعت و دقت و کارایی
ممنون

Farzadak2010
دوشنبه 04 اردیبهشت 1391, 17:55 عصر
تصال به mysql در C#
برای اتصال به بانک اطلاعاتی my sql در .net احتیاج به موارد زیر داریم:
1- MySQL Server ترجیحا جدید ترین ورژن
2- MySQL Connector/NET

به غیر از موارد بالا بسته دیگه ای که توصیه می کنم نصب کنید MySQL Workbench هست، که به شما اجازه کار بر روی سرور و بانک های اطلاعاتی mysql بصورت ویژوال رو میده.

توجه: شما به جای نصب جداگانه بخش های بالا با استفاده از mysql-installer که حجمی حدود 200MB داره میتونید کل قسمت های مورد نیاز برنامه های بر اساس my sql رو به صورت یکجا نصب کنید.

در مرحله اول شما باید بانک اطلاعاتی و جدولتون رو بسازید.
برای ساخت بانک باید وارد سرور mysql بشید و این کار رو انجام بدید. در اینجا سه حالت پیش میاد:
حالت اول اینکه شما MySQL Workbench رو نصب کرده باشید، که در این صورت میتونید بانک رو با چند تا کلیک بسازید (اگه خواستید بگید تا توضیح بدم).
حالت دوم اینه که شما MySQL Workbench رو نصب نکردید و برای ساخت بانک میخواهید از طریق MYSQL Command Line وارد عمل بشید.
برای این کار به مسیر start>All Programs>MySQL>MySQL Server برید و برنامه MySQL Command Line Client رو اجرا کنید
یا به مسیر C:\Program Files\MySQL\MySQL Server 5.0\bin برید و برنامه mysql.exe رو اجرا کنید.
با اجرای برنامه از شما پسوردی که در زمان نصب mysql به عنوان root دادید خواسته میشه که باید وارد کنید تا به محیط متنی سرور mysql وارد بشید.
با نمایش اعلان :
کد:

mysql>

شما وارد سرور شدید. در مقابل این اعلان شما میتونید دستورات sql و mysql رو تایپ کنید. در این محیط اتمام دستورات با علامت ; مشخص میشه.

برای ساخت بانک اطلاعاتی از دستور زیر استفاده میشه
کد:

create database Test1;

که Test1 در اینجا نام بانک اطلاعاتی ماست.
برای ساخت جدول Users در بانک اطلاعاتی Test1 از دستور زیر استفاده میشه
کد:

use Test1;
create table Users
(
ID int not null auto_increment primary key,
Name nchar(15) not null,
Family nchar(20) not null,
Age int not null
);

نمایش پیام Query OK در جواب اجرای دستورات، نشان دهنده ی صحت اجرای دستور است.
خوب بود شما در حال حاضر یک بانک اطلاعاتی در mysql با یک جدول خالی درون بانک دارید. دستور exit را درون خط فرمان mysql تایپ کنید، تا پنجره خط فرمان بسته شود.
حالت سوم اینه که شما بخواهید از داخل برنامه بانک اطلاعاتی و جداولتون رو بسازید.
برای این کار در داخل کدهاتون دستورات ساخت بانک و جدول رو به زبان Sql به شی MySqlCommand بدید.این شی مثل خط فرمان mysql عمل میکنه.

در مرحله دوم ما باید پروژه C# رو بسازیم و با اون به mysql متصل بشیم.
برای اینکار یک پروژه جدید در Visual Studio میسازیم.از منوی Project گزینه ی Add Reference رو می زنیم. در پنجره ای که باز میشه از سربرگ .Net گزینه ی MySql.Data رو انتخاب و OK می کنیم.
حالا باید پروژتون رو بنویسید. این مرحله بسته به پروژه مورد نظر شما متغییره. اما توضیحات کلی اون در مورد اتصال به بانک اطلاعاتی مشترکه. برای درک بهتر میتونید از پروژه پیوست شده کمک بگیرید.
وارد بخش کد نویسی فرم میشیم و در قسمت بالای اون using MySql.Data.MySqlClient; را اضافه میکنیم.
حالا میتونیم در جایی از فرم که نیاز داریم، به بانک اطلاعاتی متصل بشیم.
مثلا اگر یک DataGridView روی فرم قرار بدید و بخواهید با یاز شدن فرم اطلاعات جدولتون داخلش به نمایش در بیاد، باید داخل Form_Load کد های زیر رو بنویسید:
کد:

MySqlConnection con = new MySqlConnection("server=127.0.0.1; port=3306; database=Test1; uid=Us; password=Pass");
MySqlCommand com = new MySqlCommand("select * from Users", con);
MySqlDataAdapter da = new MySqlDataAdapter(com);
MySqlCommandBuilder combldr = new MySqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "Users");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Users";

شی con ارتباط ما رو با mysql و بانک اطلاعاتی Test1 برقرار می کنه.این شی یک رشته اتصال دریافت میکنه که دارای این قسمت هاست:
server:
نام سرور رو مشخص میکنه.
port:
شماره پورتی که mysql به اون متصل شده. به صورت پیش فرض روی 3306 قرار داره، اما اگه خودتون تغییرش داده باشید، یا چند نسخه از mysql روی سیستمتون نصب باشه، باید شماره پورت مربوط به mysql مورد نظرتون رو وارد کنید.
database:
نام بانک اطلاعاتی رو مشخص میکنه.
uid:
نام کاربری شما برای دسترسی به بانک اطلاعاتی.(میتوانید از کاربر root استفاده کنید. البته این کار توصیه نمیشود.)
password
رمز عبور مربوط به نام کاربری شما.
شی com توانایی اجرای دستورات sql رو به ما میده. با استفاده از خاصیت CommandText این شی میتونید دستورات sql رو روی بانک اعمال کنید.
شی da انتقال اطلاعات به ds رو به عهده داره.
شی combldr دستورات Insert ، Update و ... را برای da میسازه.
شی ds جداول رو برای ما نگهداری میکنه. نسبت جدول ها و ds مثل کاغذ است با پوشه. همانطور که یک پوشه می تواند حاوی چند کاغذ باشد، Dataset هم می تواند حاوی چند جدول باشد.

خط da.Fill(ds, "Users"); باعث انتقال اطلاعات جدول به ds می شود.
دو خط پایانی نیز وظیفه اتصال ds به DataGridView را دارند.

Farzadak2010
دوشنبه 04 اردیبهشت 1391, 17:57 عصر
جهت ارتباط با بانک اطلاعاتی My Sql در سی شارپ 2 روش عمومی وجود دارد.
1-استفاده از کانکشن ODBC که این کار به وسیله برنامه mysql-connector-odbc-5.00.11-beta-gpl-win32(2).msi که از سایت MySql دانلود می شود امکان پذیر می باشد.
2-استفاده از mysql.data.dll که این روش که مورد بحث این جلسه است .

روش کار :ابتدا برنامه mysql-connector-net-1.0.9 را از سایت mysql دانلود و بر روی کامپیوتر خود نصب کنید
در مرحله دوم در قسمت Add Reference تابع کتابخانه ای mysql.data.dll را از مسیر
C:\Program Files\MySQL\MySQL Connector Net 1.0.9\Binaries\.NET 1.1 در برنامه خود اضافه می کنیم
در مرحله سوم namespace مربوطه با نام MySql.Data.MySqlClient را وارد صفحه می کنیم .
using MySql.Data.MySqlClient
در مرحله چهارم کدهای ارتباطی با mysql را به شرح زیر می آوریم اساس کار از این به بعد دقیقا شبیه ارتباط با microsoft sql می باشد.
string myconstring = "Server=localhost; UserId=root; Password=pass; Database=repair;";

MySqlConnection mycon = new MySqlConnection();

mycon.ConnectionString = myconstring;

MySqlDataAdapter myda = new MySqlDataAdapter("SELECT * FROM Customers", mycon);

DataSet myds = new DataSet();

mycon.Open();

myda.Fill(myds,"Customers");
mycon.Close();
dataGrid1.DataSource=myds
در مثال بالا یک دیتا گرید را از جدول Customer بانک اطلاعاتی Repair موجود در دیتابیس MySql پر کرده ایم.

Farzadak2010
دوشنبه 04 اردیبهشت 1391, 17:59 عصر
و ویدئو آموزشی زیر که آخرین آموزشه
دانلود ویدئو با حجم 7 مگابایت (http://1mohammadi.ir/dl/videos/Insert-Update-Delete-MySQL-Database.FLV)

Farzadak2010
چهارشنبه 06 اردیبهشت 1391, 22:48 عصر
یعنی کسی نمیتونه برتری این کدها رو تایید کنه

_lotus_
سه شنبه 31 مرداد 1391, 12:19 عصر
سلام
من قصد دارم یه برنامه با vb.net و دیتابیس myssql و این سوالات رو دارم
1. چطور باید بکاپ بگیرم
2. دیتابیس را در یک کامپیوتر دیگر چطور باید بارگذاری کنم و ... این کار مثل sql server هست یا مثل access
3. در کامپیوتر مشتری باید mysql را نصب کنم
من از Mysql Workbench 5.2 CE استتفاده میکنم
ممنون