Thực thi câu lệnh SQL bằng đối tượng Command

Một phần của tài liệu Bài tập lập trình window form pot (Trang 93 - 101)

3.4.1. Chức năng

 Dùng đểthực thi các câu lệnh SQL thao tác với CSDL như : Insert, Update, Select, Delete…

 Trước khi thực thi câu lệnh SQL bằng đối tượng Command thì bắt buộc phải mở kết nối tới CSDL (gọi phương thức KetNoi()ở trên).

3.4.2. Khai báo

usingSystem.Windows.Forms;

usingSystem.Data;

usingSystem.Data.SqlClient;

namespaceWindowsFormsInCSharp

{

public partial classfrmADONET:Form

{

publicfrmADONET()

{

InitializeComponent();

}

//Khai báo đối tượng Command (sqlCommand)

SqlCommandsqlCom2 =newSqlCommand();

}

}

3.4.3. Các phương thức thường của đối tượng Command

Đối tượng Command có một số phương thức sau:

ExecuteScalar(): Thực hiện câu lệnh mà kết quảtrảvềchỉcó 1 ô (Ví dụcâu lệnh Select Count(*)…).  ExecuteReader(): Thực hiện câu lệnh Select và trảvềmột DataReader

ExecuteNonQuery(): Thực hiện câu lệnh OLEDB nhưng không trảvềkết quả (Delete, Update, Insert …).

ExecuteXMLReader(): Tạo một bộ đọc từ file XML. Phương thức này không có trong OleDbCommand, chỉ có trong SqlCommand.

3.4.4. Sửdụng đối tượng Command

Giả sử chúng ta có một cơ sở sữ liệu SQL có tên: CSDL. Cơ sở dữ liệu đó bao gồm một bảng: tbSinhVien(MaSinhVien, TenSinhVien, Lop, NgaySinh, QueQuan) để lưu trữthông tin vềmột sốsinh viên

Giảsửchúng ta có một form có tên frmADONET. Trên form đó có chứa một số điều khiển sau:

 DataGridView: dgSinhVien để hiển thịdữliệu trong bảng tbSinhVien.

 Các nút button: btMoi, btThem, btSua, btXoa minh họa sửdụng đối tượng Command đểthao tác với CSDL (Insert, Update, Delete…) usingSystem.Windows.Forms; usingSystem.Data; usingSystem.Data.SqlClient; namespaceWindowsFormsInCSharp

{

public partial classfrmADONET:Form

{

publicfrmADONET() {

InitializeComponent(); }

//Khai báo chuỗi kết nối tới CSDL

static stringstrConnect =@"Data Source=.\SQLEXPRESS;Initial Catalog=CSDL;Integrated Security=True";

//Khai báo đối tượng Connection (SqlConnection) và SqlCommand SqlConnectionsqlCon;//sửdụng cách 1

SqlCommandsqlCom;

SqlCommandsqlCom2 =newSqlCommand(); //Phương thức kết nối tới CSDL

voidKetNoi() {

sqlCon =newSqlConnection(strConnect);

if(sqlCon.State ==ConnectionState.Closed) sqlCon.Open();

}

//Ngắt kết nối (thường gọi trong sựkiện FormClosing của Form) voidNgatKetNoi()

{

sqlCon.Close(); }

/// <summary>

///Phương thức thực thi câu lệnh SQL (Insert, Update, Delete) /// </summary>

/// <param name="strSQL">Chuỗi string mô tảCâu lệnh SQL: Insert, Update, Delete</param> voidThucThi(stringstrSQL)

{

//Bước 1: Kết nối tới CSLD (Gọi phương thức KetNoi)

KetNoi();

sqlCom =newSqlCommand(strSQL, sqlCon); sqlCom.ExecuteNonQuery(); //Bước 3: Ngắt kết nối NgatKetNoi(); } //Mới

private voidbtMoi_Click(objectsender,EventArgse) {

foreach(Controlctrin this.splitContainer1.Panel2.Controls) { if((ctrisTextBox) || (ctrisMaskedTextBox)) { ctr.Text =""; } } }

//Thêm bản ghi mới vào bảng tbSinhVien

{

string strThem = "Insert into tbSinhVien values('"+ txtMaSinhVien.Text

+"','"+txtTenSinhVien.Text+"','"+txtLop.Text+"','"+mkNgaySinh.Text+"','"+txtQueQuan.Text+"')";

ThucThi(strThem); }

//Sửa bản ghi

private voidbtSua_Click(objectsender,EventArgse) {

stringstrSua ="update tbSinhVien set TenSinhVien='"+ txtTenSinhVien.Text +"',Lop='"+ txtLop.Text +"',NgaySinh='"+ mkNgaySinh.Text +"',QueQuan='"+ txtQueQuan.Text +"' where MaSinhVien='"+txtMaSinhVien.Text+"' ";

ThucThi(strSua); }

//Xóa bản ghi

private voidbtXoa_Click(objectsender,EventArgse) {

stringstrXoa ="delete from tbSinhVien where MaSinhVien='"+ txtMaSinhVien.Text +"' ";

ThucThi(strXoa); }

}

Một phần của tài liệu Bài tập lập trình window form pot (Trang 93 - 101)

Tải bản đầy đủ (PDF)

(125 trang)