25/05/2018, 08:40

Loại bỏ (Xoá) một bản ghi khỏi bảng CSDL

Để xoá một bản ghi khỏi bảng CSDL, có thể sử dụng phương thức Delete của đối tượng con Recordset trong điều khiển ADO Data Control. Khi gọi phương thức này thì bản ghi hiện hành sẽ bị xoá. Về trực quan, bản ghi hiện hành có biểu tượng mũi tên đang chỉ tới. ...

Để xoá một bản ghi khỏi bảng CSDL, có thể sử dụng phương thức Delete của đối tượng con Recordset trong điều khiển ADO Data Control. Khi gọi phương thức này thì bản ghi hiện hành sẽ bị xoá. Về trực quan, bản ghi hiện hành có biểu tượng mũi tên đang chỉ tới.

Có thể xoá một hoặc nhiều bản ghi bằng cách đặt câu lệnh SQL dạng như “Delete…” cho thuộc tính RecordSource của điều khiển ADO Data Control, tuy nhiên để đơn giản, phần hướng dẫn sau đây sẽ trình bày cách xoá một bản ghi thoả mãn một điều kiện nào đó.

Thực hành: Cho người dùng nhập vào số báo danh của một người trong một textbox và chương trình sẽ thực hiện xoá bản ghi có SoBD bằng với Số báo danh này.

Các bước tiến hành:

  • Thiết kế giao diện:
Giao diện chương trình và tên các control
  • Viết code : Viết code trong thủ tục Form_Load và nút cmdXoa

Toàn bộ code chương trình

  • Chạy chương trình : Nhấn F5. Nhập số báo danh cần xoá và chọn nút “X
Xoá bản ghi trong bảng CSDL

Một số Ghi chú: :

  • Trường SoBD trong bảng CSDL khi thiết kế ta đặt kiểu là Text (Xâu ký tự), do vậy trong phương thức tìm kiếm Find ta cũng phải thêm dấu nháy đơn ở hai đầu.
  • Vì phương thức Delete của đối tượng con Recordset sẽ thực hiện xoá ngay bản ghi hiện hành, do vậy để xoá bản ghi cần xoá thì trước hết ta phải di chuyển con trỏ bản ghi về bản ghi cần xoá đó bằng phương thức find (Tìm kiếm). Khi dùng phương thức find, nếu có bản ghi phù hợp thì phương thức này sẽ dừng lại và bản ghi đó trở thành bản ghi hiện hành.
  • Nói chung, việc xoá một bản ghi trong CSDL thường dựa vào trường khoá, bởi vì tính duy nhất của nó. Còn nếu xoá bản ghi dựa vào trường không phải là khoá (Ví dụ trường DiemToan) thì rất có thể xoá phải bản ghi không đúng như yêu cầu, mặc dù vẫn có thể tiến hành tìm kiếm và xoá bình thường.
0