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

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

 
Cuộc cách mạng trên browser - Chrome DevTools năm 2013

As the complexity and functionality of web applications has grown, so has Chrome DevTools. In this recap of Paul Irish's Google I/O 2013 talk

Xây dựng hệ thống vận hành kinh doanh bán hàng online
Xây dựng hệ thống vận hành kinh doanh bán hàng online 2020

Các loại nội dung được liệt kê dưới đây sẽ phát huy hiệu quả khi chúng phù hợp với mục tiêu marketing của bạn.

Cho thuê hosting chuyên dụng cho Drupal website
Cho thuê hosting chuyên dụng cho Drupal website

Hosting là không gian lưu trữ mã nguồn để chạy website, nếu Domain (Tên miền) là địa chỉ nhà của bạn, thì Hosting là khu đất để xây nhà.