การใช้งานฐานข้อมูล MySQL ด้วย C#
นนี้มาสรุปการใช้งานฐานข้อมูล MySQL ด้วย C# เอาไว้หลังจากที่ออฟใช้ในการทำงานโปรเจ็คแล้ว เรื่องที่สรุปก็มีในส่วนของการเชื่อมต่อฐานข้อมูล, การใช้ mysql connector/net ในการช่วยจัดการฐานข้อมูล MySQL, รวมถึงตัวอย่างการใช้งานพื้นฐานอย่างการ Insert
การ เตรียมความพร้อม
- ติดตั้ง MySQL ให้เรียบร้อย
- สร้างฐานข้อมูลใน 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 : เก็บผลการตรวจ’; - ดาวน์โหลด mysql connector/net ซึ่งเป็นตัวช่วยในการใช้งาน MySQL ด้วยภาษา C# ให้ง่ายขึ้น http://dev.mysql.com/downloads/connector/net/6.2.html
- ทำการติดตั้ง mysql connector/net http://dev.mysql.com/doc/refman/5.1/en/connector-net-installation-windows.html
เริ่มการใช้งานฐานข้อมูล MySQL ด้วย C# ด้วย Microsoft Visual C# 2008
- เปิดโปรแกรม Microsoft Visual C# 2008 ขึ้นมา
- ทำการสร้าง Project ใหม่
- ทำการ add reference to: MySql.Data
- คลิกขวาที่ Solution Explorer แล้วเลือก Add Reference…
- ที่แทบ .NET เลือก MySql.Data
- เรียกใช้งานโดย using MySql.Data.MySqlClient;
การเชื่อมต่อฐานข้อมูล MySQL ด้วย C# ด้วย Microsoft Visual C# 2008
หลักของการเชื่อมต่อและใช้งานก็คือ
- connection string : เป็นส่วนกำหนดค่าว่า Server อะไร, ฐานข้อมูลชื่ออะไร, ชื่อผู้ใช้และรหัสผ่านในการเชื่อมต่อ ตัวอย่างเช่น
string ConnectionString = “SERVER=localhost;” +
“DATABASE=sds_result;” +
“UID=root;” +
“PASSWORD=123456″; - MySqlConnection object เป็นตัวจัดการในการเชื่อมต่อกับฐานข้อมูล โดย MySqlConnection constructor จะรับ connection string เป็นพารามิเตอร์
MySqlConnection connection = new MySqlConnection(ConnectionString); - เริ่มการเชื่อมต่อ
connection.Open(); - เขียนคำสั่ง SQL : ตัวอย่างการ Insert ข้อมูลใส่ในฟิลด์ status, file_submissions, time_started
sql = “INSERT INTO sds_result (status,file_submissions, time_started)”;
sql += “VALUES (’0′,’” + file_submissions + “‘,’” + time_started + “‘)”; - ในการทำงานคำสั่ง SQL นั้นจะทำผ่าน MySqlCommand object
MySqlCommand cmd = new MySqlCommand(sql, connection);
- ExecuteReader : ใช้ในการดึงข้อมูลจากฐานข้อมูล เช่น cmd.ExecuteReader();
- ExecuteNonQuery : ใช้ในการ insert และ delete ข้อมูล เช่น cmd.ExecuteNonQuery(); - ปิดการเชื่อมต่อ
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();
ไม่มีความคิดเห็น:
แสดงความคิดเห็น