Các thao tác kết nối ADO.NET sử dụng cấu trúc dòng lệnh

Các thao tác kết nối ADO.NET sử dụng cấu trúc dòng lệnh

1.Thiết kế CSDL

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

2.Thiết kế giao diện

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

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:
    • Connection để kết nối với cơ sở dữ liệu.gồm  OleDbConnection và SqlConnection.
    • 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
    • DataAdapter thực hiện ánh xạ dữ liệu vào DataSet thông qua connection đã có bao gồm OleDbDataAdapter và SqlDataAdapter.
    • 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;

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);

}

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");

}

 

Bài tập:

Thực hiện chương trình Quản Lý Học Sinh với Các chức năng sau

  • Quản lý lớp học
    • Thêm lớp học
    • Sửa thông tin lớp học
    • Xoá thông tin lớp học
    • Xem danh sách lớp học
  • Quản lý học sinh
    • Thêm thông tin học sinh
    • Xoá học sinh
    • Sửa học sinh
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Polaroid SC1630 Camera Smartphone

Polaroid SC1630 Camera Smartphone

Polaroid is looking to fuel a new device category, and has recently shown off its newest camera known as the SC1630 Smart Camera.

Tính năng mới như cho phép trả lời một bình luận, gắn thẻ hashtag, chia sẻ cảm xúc trên Facebookcho đầu năm 2013

Tính năng mới như gắn thẻ hashtag, chia sẻ cảm xúc trên Facebookcho đầu năm 2013

Mạng xã hội lớn nhất thế giới liên tục có những thay đổi quan trọng và gây chú ý trong giai đoạn nửa đầu năm 2013, như cho phép trả lời một bình luận, gắn thẻ hashtag, chia sẻ cảm xúc...

BadBIOS - malware kỳ lạ phá hoại phần sụn máy tính và lây nhiễm qua loa/mic?

BadBIOS - malware kỳ lạ phá hoại phần sụn máy tính và lây nhiễm qua loa/mic?

3 năm trước, chuyên gia bảo mật Dragos Ruiu đã phát hiện ra một điều gì đó bất bình thường với chiếc máy tính MacBook Air của mình khi ông đang làm việc trong phòng thí nghiệm

Công ty diệt chuột T&C

 

Diet con trung