แต่มาวันนี้ mysql 5.6 ติดตั้งทีเดียวแบบจัดเต็ม ได้ Provider มาครบพร้อมใช้ เป็นอีกก้าวหนึ่งที่ Oracle เข้าไปเจาะ Microsoft ตรงๆ
ติดตั้ง mysql แล้วมาครบเลย |
ก่อนอื่นมาเช็ค Version กันก่อน โดยผมจะ Query ผ่าน Mysql Workbench ด้วยคำสั่ง "SELECT @@version"
จากนั้นก็เข้าไปทดสอบที่ Visual Studio ได้เลย ซึ่งผมใช้ Version 2013 ครับ
พอเข้ามา new project ก็จะพบกับหัวข้อเฉพาะของ project สำหรับ mysql เลยครับ
จากนั้นจะมี Dialog ให้ใส่ข้อมูลเพื่อ Connect Database ในที่นี้ผมใช้ฐานข้อมูลชื่อ mysqltest เข้าถึงโดย root
จากนั้นผมจะเลือกการทำงานกับฐานข้อมูลแบบ Dataset จากนั้นให้กดปุ่ม Next เพื่อไปเลือกตาราง ในที่นี้ผมเลือกใช้ตาราง province เพื่อดึงข้อมูลรายชื่อจังหวัด
จากนั้น Visual Studio จะสร้างไฟล์ให้เราหลายไฟล์ โดยจะมีฟอร์มหลัก(frmMain) ฟอร์มที่ใช้จัดการกับตาราง province (frmprovince)
จะเห็นว่าในฟอร์มหลักจะมีเมนูเพื่อเปิดฟอร์มที่ใช้จัดการตาราง province ให้ด้วย |
หน้าตาของไฟล์ .xsd DataSet ที่ได้ ไม่ต่างจากที่ใช้กับ Microsoft SQL Server เลย |
แต่มีจุดสังเกตุอย่างหนึ่งว่าฟอร์ม frmprovince ที่ Visual Studio สร้างให้นั้นเป็นเพียงการ Generate code ธรรมดา โดยใช้ Namespace MySql.Data.MySqlClient เท่านั้น
private void frmprovince_Load(object sender, EventArgs e)
{
string strConn = "port=xxx;server=localhost;user id=root;password=xxx;database=mysqltest;";
ad = new MySqlDataAdapter("select * from `province`", strConn);
MySqlCommandBuilder builder = new MySqlCommandBuilder(ad);
ad.Fill(this.newDataSet.province);
ad.DeleteCommand = builder.GetDeleteCommand();
ad.UpdateCommand = builder.GetUpdateCommand();
ad.InsertCommand = builder.GetInsertCommand();
MySqlDataAdapter ad3;
}
แต่เจตนาของผมอยากใช้ผ่าน DataSet ไฟล์ .xsd ผมจึงต้องเรียกใช้ TableAdapter ตามภาพ
จากนั้นผมจะลองทดสอบการดึงข้อมูลจากตาราง province ดูว่าเราจะใช้ได้ปกติไหม โดยที่ผมจะเขียน Code C# ที่ฟอร์มหลัก(frmMain) ดังนี้
public frmMain()
{
InitializeComponent();
NewDataSet DS = new NewDataSet();
new province1TableAdapter().Fill(DS.province1);
DataGridView dgv = new DataGridView();
dgv.DataSource = DS.province1;
dgv.Dock = DockStyle.Fill;
this.Controls.Add(dgv);
}
เมื่อรันโปรแกรมข้อมูลจากตาราง province จะแสดงใน DataGridView ตามภาพด้านล่าง
สรุป
ผมขอสรุปเบื้องต้นว่าการใช้งานสำหรับผู้ที่อยากจะใช้ .Net กับ mySQL นั้นสะดวกขึ้นอย่างมาก แต่อาจจะยังไม่เนียนสนิทเหมือนใช้กับ SQL Server ที่ผมพบก็คือการ Insert จะไม่มีชื่อของ Field มาให้เราเห็น Visual Studio จะมองเห็นเป็นแค่ parameter ตัวที่เท่าไหร่และ type เท่านั้น แต่ในความคิดของผมแค่นี้ก็ดีถมถืดแล้วครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น