วันพฤหัสบดีที่ 19 พฤษภาคม พ.ศ. 2554

การใช้งานฐานข้อมูล MySQL ด้วย C#


 การใช้งานฐานข้อมูล MySQL ด้วย C# 

mysql_connector_net_main.jpgนนี้มาสรุปการใช้งานฐานข้อมูล MySQL ด้วย C# เอาไว้หลังจากที่ออฟใช้ในการทำงานโปรเจ็คแล้ว เรื่องที่สรุปก็มีในส่วนของการเชื่อมต่อฐานข้อมูล, การใช้ mysql connector/net ในการช่วยจัดการฐานข้อมูล MySQL, รวมถึงตัวอย่างการใช้งานพื้นฐานอย่างการ Insert

การ เตรียมความพร้อม

  1. ติดตั้ง MySQL ให้เรียบร้อย
  2. สร้างฐานข้อมูลใน MySQL อย่างของออฟสร้างตาราง sds_result
    CREATE TABLE `sds_result` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT ‘job_id ‘,
    `status` BOOL NOT NULL COMMENT ‘สถานะของการตรวจ (true/false)’,
    `result_xml` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT ‘เก็บผลการตรวจเป็น (string)’,
    `time_started` DATETIME NOT NULL COMMENT ‘วัน-เวลาที่เีิิริ่มตรวจ’,
    `time_finished` DATETIME NULL COMMENT ‘วัน-เวลาที่ตรวจเสร็จ’
    ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci COMMENT = ‘ตาราง sds_result : เก็บผลการตรวจ’;
  3. ดาวน์โหลด mysql connector/net ซึ่งเป็นตัวช่วยในการใช้งาน MySQL ด้วยภาษา C# ให้ง่ายขึ้น http://dev.mysql.com/downloads/connector/net/6.2.html
  4. ทำการติดตั้ง mysql connector/net  http://dev.mysql.com/doc/refman/5.1/en/connector-net-installation-windows.html

เริ่มการใช้งานฐานข้อมูล MySQL ด้วย C# ด้วย Microsoft Visual C# 2008

  1. เปิดโปรแกรม Microsoft Visual C# 2008 ขึ้นมา
  2. ทำการสร้าง Project ใหม่
  3. ทำการ add reference to: MySql.Data
    - คลิกขวาที่ Solution Explorer แล้วเลือก Add Reference…
    mysql_connector_net_add_reference_to_MySql_Data_2.jpg
    - ที่แทบ .NET เลือก MySql.Data
    mysql_connector_net_add_reference_to_MySql_Data.jpg
  4. เรียกใช้งานโดย using MySql.Data.MySqlClient;

การเชื่อมต่อฐานข้อมูล MySQL ด้วย C# ด้วย Microsoft Visual C# 2008

หลักของการเชื่อมต่อและใช้งานก็คือ
  1. connection string : เป็นส่วนกำหนดค่าว่า Server อะไร, ฐานข้อมูลชื่ออะไร, ชื่อผู้ใช้และรหัสผ่านในการเชื่อมต่อ ตัวอย่างเช่น
    string ConnectionString = “SERVER=localhost;” +
    “DATABASE=sds_result;” +
    “UID=root;” +
    “PASSWORD=123456″;
  2. MySqlConnection object เป็นตัวจัดการในการเชื่อมต่อกับฐานข้อมูล โดย MySqlConnection constructor จะรับ connection string เป็นพารามิเตอร์
    MySqlConnection connection = new MySqlConnection(ConnectionString);
  3. เริ่มการเชื่อมต่อ
    connection.Open();
  4. เขียนคำสั่ง SQL : ตัวอย่างการ Insert ข้อมูลใส่ในฟิลด์ status, file_submissions, time_started
    sql = “INSERT INTO sds_result (status,file_submissions, time_started)”;
    sql += “VALUES (’0′,’” + file_submissions + “‘,’” + time_started + “‘)”;
  5. ในการทำงานคำสั่ง SQL นั้นจะทำผ่าน MySqlCommand object
    MySqlCommand cmd = new MySqlCommand(sql, connection);

    - ExecuteReader :  ใช้ในการดึงข้อมูลจากฐานข้อมูล เช่น cmd.ExecuteReader();
    - ExecuteNonQuery : ใช้ในการ insert และ delete ข้อมูล เช่น cmd.ExecuteNonQuery();
  6. ปิดการเชื่อมต่อ
    connection.Close();
โค้ดตัวอย่างของการเชื่อมต่อและการ Insert ข้อมูล
  1. //create connection string  
  2. string ConnectionString = "SERVER=localhost;" +  
  3.                           "DATABASE=sds_result;" +  
  4.                           "UID=root;" +  
  5.                           "PASSWORD=123456;";  
  6. MySqlConnection connection = new MySqlConnection(ConnectionString);  
  7.   
  8. //Connecting to MySQL  
  9. connection.Open();  
  10.   
  11. // Perform database operations  
  12. DateTime time = DateTime.Now;  
  13. string time_started = String.Format("{0:yyyy-MM-dd HH:mm:ss}", time);  
  14. int file_submissions = num;  
  15.   
  16. //SQL Command  
  17. sql = "INSERT INTO sds_result (status,file_submissions, time_started)";  
  18. sql += "VALUES ('0','" + file_submissions + "','" + time_started + "')";  
  19.   
  20. //When a connection has been created and opened, the code then creates a MySqlCommand object  
  21. MySqlCommand cmd = new MySqlCommand(sql, connection);  
  22.   
  23. //Use ExecuteNonQuery to insert data.  
  24. cmd.ExecuteNonQuery();  
  25.   
  26. //Close Connection  
  27. connection.Close();  

ไม่มีความคิดเห็น:

แสดงความคิดเห็น