[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 ข้อมูล

            //create connection string
            string ConnectionString = "SERVER=localhost;" +
                                      "DATABASE=sds_result;" +
                                      "UID=root;" +
                                      "PASSWORD=123456;";
            MySqlConnection connection = new MySqlConnection(ConnectionString);

            //Connecting to MySQL
            connection.Open();

            // Perform database operations
            DateTime time = DateTime.Now;
            string time_started = String.Format("{0:yyyy-MM-dd HH:mm:ss}", time);
            int file_submissions = num;

            //SQL Command
            sql = "INSERT INTO sds_result (status,file_submissions, time_started)";
            sql += "VALUES ('0','" + file_submissions + "','" + time_started + "')";

            //When a connection has been created and opened, the code then creates a MySqlCommand object
            MySqlCommand cmd = new MySqlCommand(sql, connection);

            //Use ExecuteNonQuery to insert data. 
            cmd.ExecuteNonQuery();

            //Close Connection
            connection.Close();

Leave a comment