Trong hướng dẫn này, sẽ giới thiệu bạn thao tác với MySQL Database từ C#, mục tiêu bao gồm:
- Query
- Insert
- Update
- Delete
- Gọi hàm, thủ tục từ C#,...
Tạo project CsMySQLTutorial:
Project đã được tạo ra.Bạn cần khai báo thư viện giúp kết nối vào MySQL và cần một class tiện ích (DBUtils.cs) giúp kết nối vào Database. Với MySQL Database, bạn có thể xem hướng dẫn tại: Kết nối cơ sở dữ liệu MySQL trong C#
MySqlCommand
Trong C# để thao tác với MySQL Database, chẳng hạn query, insert, update, delete bạn sử dụng một đối tượng MySqlCommand. MySqlCommand là một class mở rộng từ DbCommand.
Bạn có thể tạo đối tượng MySqlCommand để thao tác với MySQL Database:
Truy vấn dữ liệu
Ví dụ truy vấn dữ liệu sử dụng C#:
Chạy ví dụ:
--------------------
empIdIndex:0
EmpId:7369
EmpNo:E7369
EmpName:SMITH
MngId:7902
--------------------
empIdIndex:0
EmpId:7499
EmpNo:E7499
EmpName:ALLEN
MngId:7698
--------------------
empIdIndex:0
EmpId:7521
EmpNo:E7521
EmpName:WARD
MngId:7698
--------------------
empIdIndex:0
EmpId:7566
EmpNo:E7566
EmpName:JONES
MngId:7839
.....
Chú ý: Câu lệnh using sử dụng để đảm bảo rằng đối tượng sẽ bị tiêu hủy (dispose) ngay sau khi nó ra khỏi phạm vi, mà không cần phải đòi hỏi phải viết code một cách trực quan.
// Sử dụng từ khóa 'using' đối với các đối tượng kiểu IDispose.
// (Là đối tượng của Interface IDispose).
using (DbDataReader reader = cmd.ExecuteReader())
{
// Code sử dụng reader
}
// Tương đương với cách viết truyền thống.
DbDataReader reader = cmd.ExecuteReader();
try
{
// Code sử dụng reader
}
finally
{
// Gọi phương thức tiêu hủy đối tượng
// Giải phóng tài nguyên.
reader.Dispose();
}
Insert dữ liệu
Ví dụ sau trèn thêm một bản ghi (record) vào bảng Salary_Grade.
Chạy ví dụ:
Row Count affected = 1
Update dữ liệu
Ví dụ update trong C#.
Chạy ví dụ:
Row Count affected = 1
Xóa dữ liệu
Ví dụ sử dụng C# xóa dữ liệu trong MySQL.
Gọi thủ tục trong C#
Bạn cần tạo ra một thủ tục đơn giản trong MySQL và gọi nó trong C#:
Chạy ví dụ:
Emp No: E100
First Name: Michael
Last Name: Smith
Hire Date: 2/11/2016 12:00:00 AM
Gọi hàm trong C#
Bạn cần một hàm đơn giản và gọi nó trong C#.
Chạy ví dụ:
Emp No: E100
ExecuteScalar
MySqlCommand.ExecuteScalar() là một phương thức sử dụng để thực thi câu lệnh SQL trả về giá trị của cột đầu tiên tại dòng đầu tiên.
-- Câu lệnh sau trả về duy nhất một giá trị.
Select count(*) from Employee;
-- Hoặc
Select Max(e.Salary) From Employee e;
Ví dụ:
Chạy ví dụ:
Emp Count: 14
Bạn cũng có thể gọi một hàm của MySQL sử dụng phương thức ExecuteScalar