Você está na página 1de 4

Hướng dẫn thực hành

Môn: LTUDQL 2
Chủ đề: ADO.NET

Phần 2: Các thao tác kết nối ADO.NET sử dụng cấu trúc
dòng lệnh với namespace System.Data.

1. Thiết kế CSDL
1. Sử dụng lại cơ sở dữ liệu ở phần 1 (HOCSINH.MDB):

HOCSINH
STT Tên trường Kiểu dữ liệu Ghi chú
1 MaHS Text(10) PrimaryKey
2 TenHS Text(255)
3 NgaySinh Date/Time
4 DiaChi Text(255)
5 DTB Number
6 MaLop Text(10) ForeignKey (tham chiếu đến
Lop(MaLop)

LOP
STT Tên trường Kiểu dữ liệu Ghi chú
1 MaLop Text(10) PrimaryKey
2 TenLop Text(255)
3 SiSo Number

2. Thiết kế giao diện


Tạo project C# Window Application mới với tên project là QLHS

1
Thiết kế form frmHocSinh.cs:

Tạo kết nối cơ sở dữ liệu bằng dòng lệnh

- Nhắc lại: Để thao tác trên cơ sở dữ liệu sử dụng ADO.NET ta cần có các đối
tượng sau:
o Connection để kết nối với cơ sở dữ liệu.gồm OleDbConnection và
SqlConnection.
o Command để thực thi các câu lệnh truy vấn, thực thi các store
procedure... bao gồm OleDbCommand và SqlCommand
o DataAdapter thực hiện ánh xạ dữ liệu vào DataSet thông qua
connection đã có bao gồm OleDbDataAdapter và SqlDataAdapter.
o DataSet chứa dữ liệu thu được hoặc xử lý lấy từ cơ sở dữ liệu. DataSet
là tập hợp gồm các thành phần DataTable (tương ứng với từng View
trong cơ sở dữ liệu), DataColumn (tương ứng với Field trong CSDL)
và DataRow (tương ứng với record trong CSDL).

- Để kết nối với CSDL Access, ta sử dụng OleDb. Ta khai báo sử dụng
namespace như sau:
using System.Data;
using System.Data.OleDb;

- Ta khai báo các biến cần sử dụng để xử lý CSDL.


private OleDbConnection connection;
private OleDbDataAdapter adapter;
private DataSet dataSet;
private OleDbCommand command;

2
Hàm connect cơ sở dữ liệu
- Ta viết hàm connect có nhiệm vụ kết nối cơ sở dữ liệu như sau:
private void connect(string file)
{
string connnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file;
connection = new OleDbConnection(connnectionString);
}

- Trong sự kiện form load, ta gọi hàm connect để khởi tạo connection
private void frmThongTinHS_Load(object sender, System.EventArgs e)
{
connect("C:/Users/HocSinh.mdb");
}

Hàm lấy danh sách lớp để kết với combobox


private DataTable getDSLop()
{
adapter = new OleDbDataAdapter("select * from LOP",
connection);

dataSet = new DataSet();


adapter.Fill(dataSet);

return dataSet.Tables[0];
}

- Trong sự kiện formLoad, ta gọi hàm lấy danh sách lớp và kết vào combobox
private void frmThongTinHS_Load(object sender, System.EventArgs e)
{
connect("D:/HocSinh.mdb");

cmbLop.DataSource = getDSLop();
cmbLop.DisplayMember = "TenLop"; // Column sẽ được hiển thị
cmbLop.ValueMember = "MaLop"; // Column sẽ được giữ giá trị
}

Lấy thông tin từ form vào các biến


- Khai báo các biến sau:
private string maHS, tenHS, diachi, malop;
private double dtb;
private DateTime ngaysinh;

- Hàm lấy thông tin:


private void getData()
{
maHS = txtMaHS.Text;
tenHS = txtTenHS.Text;
ngaysinh = dtpNgaySinh.Value;
diachi = txtDiaChi.Text;
malop = (string)cmbLop.SelectedValue;
dtb = Double.Parse(txtDiemTB.Text);
}

3
Hàm thêm dữ liệu vào CSDL

private void insert()


{
connection.Open();
string insertCommand = "INSERT INTO HOCSINH VALUES('" +
maHS + "', '" +
tenHS + "', '" +
ngaysinh.ToShortDateString() + "', '" +
diachi + "', " +
dtb + ", '" +
malop + "')";

command = new OleDbCommand(insertCommand, connection);


command.ExecuteNonQuery();
connection.Close();
}

- Trong sự kiện Click của btnLuu ta thực hiện lưu thông tin vào CSDL
private void btnLuu_Click(object sender, System.EventArgs e)
{
getData();
insert();
MessageBox.Show("Cap nhat thanh cong");
}

Hàm xóa dữ liệu khỏi CSDL


- Tương tự ta có hàm xóa dữ liệu
private void delete()
{
connection.Open();
string deleteCommand = "DELETE FROM HOCSINH WHERE MaHS = '" +
maHS + "'";

command = new OleDbCommand(deleteCommand, connection);


command.ExecuteNonQuery();
connection.Close();
}

- Trong sự kiện Click của btnLuu ta thực hiện lưu thông tin vào CSDL
private void btnXoa_Click(object sender, System.EventArgs e)
{
getData();
delete();
MessageBox.Show("Xoa du lieu thanh cong");
}

3. Bài tập:
- Thực hiện chức năng nhập mã HS đã có, chương trình sẽ hiển thị thông tin HS
cho phép người nhập sửa đổi và lưu lại thông tin HS đã được sửa.

Phần 3: Xây dựng chương trình quản lý theo kiến trúc 3 lớp (3 tier)

Você também pode gostar