3. Sử dụng SqlCommand

Giả sử ta có 1 table sinhvien(masv,tensv)
Bạn muốn thêm 1 bản ghi vào table sinhvien này với masv và tensv nhập từ textbox, bạn phải làm gì?
Bạn muốn xóa 1 sinh viên có mã 001 trong csdl, bạn phải làm gì?
Bạn muốn thay đổi tên 1 sinh viên có mã 001, bản phải làm gì?
=> bạn phải viết các lệnh truy vấn trong sql và thực thi nó.
Để làm được điều này trong C#, chúng ta có lớp SqlCommand dùng để thực thi các lệnh sql.
Tạo một đối tượng mới:

SqlCommand cmd=new SqlCommand(string commandText,SqlConnection con);

2 thuộc tính quan trọng của SqlCommand là commandText và connection của nó.
Commandtext là lệnh sql mà bạn cần để thực thi
Connection là 1 đối tượng SqlConnection và trước đó phải được open
Ví dụ:

SqlConnection con=new SqlConnection(connectstring);
con.Open();
SqlCommand cmd=new SqlCommand("Insert into sinhvien values('002','sinhvien2')",con);

Vậy để thực hiện câu lệnh truy vấn này, chúng ta có những cách nào?
Chúng ta có 4 cách thực thi câu lệnh này, mỗi cách sẽ có ra kết quả khác nhau tùy vào phương thức thực thi mà ta lựa chọn
ExecuteNonQuey() : Không trả về gì vì không phải query
ExecuteScalar() : Một giá trị duy nhất
ExecuteReader() : Không hoặc nhiều hàng
ExecuteXmlReader: XML

Vậy dùng chúng trong các trường hợp nào?
- ExecuteNonQuey(): Dùng với các lệnh insert, update, delete dữ liệu
Ví dụ:

SqlConnection con=new SqlConnection(connectstring);
con.Open();
SqlCommand cmd=new SqlCommand("Insert into sinhvien values('002','sinhvien2')",con);
cmd.ExecuteNonquery();

Sau lệnh trên 1 bản ghi mới sẽ được insert vào bảng sinhvien.
- ExecuteScalar(): Dùng trong trường hợp muốn trả về 1 giá trị từ lệnh truy vấn
ví dụ:

SqlConnection con=new SqlConnection(connectstring);
con.Open();
SqlCommand cmd=new SqlCommand("select tensv from sinhvien where masv='001'",con);
string ketqua=cmd.ExecuteScalar().ToString();

Sau lệnh trên, biến ketqua sẽ lấy được tên của sinhvien có mã 001.
- ExecuteReader():Dùng khi ta muốn đọc lần lượt các bản ghi trong csdl và xử lí chúng.

Để hiểu rõ hơn mời các bạn download video này: Download

Chúc các bạn thành công!

6 nhận xét:

Nặc danh nói...

Xin cám ơn bạn vì bài viết rất hữu ích.

Nặc danh nói...

Cám ơn anh nhiều lắm!

Unknown nói...

thank kiu bạn nha

Nặc danh nói...

hay wa! minh đang cần! cảm ơn nhiều nha!

Nặc danh nói...

Mình cũng cám ơn bạn rất nhiều.
Bạn có thể up lên toàn bộ các bài viết tương tự lên một trang chung không.
Nếu bạn đã có thì có thể gửi địa chỉ cho mình lên xem với được không.
Email của mình là: phongthan_77@yahoo.com
Mình cảm ơn.

cunpro nói...

hay!thsnk