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

 
Giới thiệu decouple Drupal với client-side framework

Giới thiệu decouple Drupal với client-side framework

As user experiences evolve from static pages to application-like experiences, end users' expectations of websites have become increasingly demanding

CSS website

Tối ưu hóa SEO cho CSS website

Bài viết này sẽ hướng dẫn các bạn cách tối ưu CSS, nó sẽ giúp cải thiện được tốc độ tải trang phần nào.

Theo đuổi con đường người mẫu chuyên nghiệp, Tuyết Lan luôn giữ gìn thân hình thon gọn.

Cuộc sống nghệ sĩ Tuyết Lan, Đoan Trang ở Singapore trong dịch

Tuyết Lan, Đoan Trang và Hoàng Oanh thường xuyên cập nhật hình ảnh về cuộc sống kể từ khi định cư ở Singapore.

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

 

Diet con trung