III Các đối tượng trong mô hình ADO
Chương 12: MÔI TRƯỜNG DỮ LIỆU (DATA ENVIRONMENT)
II) SỬ DỤNG TRÌNH DATA ENVIRONMENT DESIGNER
Quá trình xây dựng một chương trình thao tác CSDL với VB thông qua DED bao gồm 3 bước:
- Chọn một trình cung cấp dữ liệu (ODBC hay OLE DB).
- Tạo một kết nối dữ liệu (file MDB, SQL Server…) - Tạo một lệnh dữ liệu (đối tượng Command).
1) Các trình cung cấp dữ liệu (Data Provider)
- Data Provider là một thành phần điều khiển sự tương tác của chương trình của ta & nguồn dữ liệu. Một trình cung cấp rất quen thuộc là trình cung cấp ODBC (Open Database Connectivity: kết nối cơ sở dữ liệu mở). Giao diện này dựa trên ý tưởng là mọi nguồn dữ liệu có thể được thao tác với ngôn ngữ SQL.
- Một giao diện mới được đưa ra bởi Microsoft: giao diện OLE DB. Giao diện này không yêu cầu nguồn dữ liệu phải nhắm vào việc sử dụng ngôn ngữ truy vấn SQL;
thay vào đó, giao diện OLE DB cho phép trình cung cấp dữ liệu chấp nhận ngôn ngữ truy vấn nào mà họ muốn hỗ trợ. Do vậy các nguồn dữ liệu được mở rộng ra từ các CSDL truyền thống: dBase, SQL Server…; đến các nguồn dữ liệu khác như các tập tin, thư mục của hệ điều hành…
- VB 6 gửi kèm với các trình cung cấp dữ liệu như sau:
9 Microsoft Jet 3.51 OLE DB Provider.
9 Microsoft Jet 4.0 OLE DB Provider.
9 Microsoft OLE DB Provider for SQL Server.
9 Microsoft OLE DB Provider for Oracle.
9 Microsoft OLE DB Provider for ODBC Drivers.
2) Tạo một kết nối dữ liệu với DED
o Tạo một dự án mới; bổ sung Data Enviroment vào dự án của ta nhờ chọn Project/Add Data Environment. Khi lựa chọn mục này, môi trường DED sẽ hiển thị; sử dụng cửa sổ Properties để thiết lập thuộc tính Name là: datHH. Ở đây, ta sẽ sử dụng DED để kết nối với CSDL HANGHOA.MDB.
o Sửa lại thuộc tính Name của Connection1 là conHH; sau đó chuột phải lên conHH, chọn Properties.
Ở hộp thoại đầu tiên, ta phải chọn một trình cung cấp dữ liệu, ở đây chọn Microsoft Jet 4.0 OLE DB Provider, nhấn Next để tiếp tục.
Tiếp theo ta cần nhập chính xác đường dẫn đến tập tin CSDL, chẳng hạn ở đây là: H:\Visual Basic\HangHoa.Mdb.
Cuối cùng, nhấn nút Test Connection để kiểm tra việc nối kết dữ liệu chính xác hay không?
Hình 12.3: Đối tượng Connection 3) Tạo đối tượng Command:
o Xây dựng một đối tượng Command kết nối trực tiếp với Table (bảng) THANGHOA trong file dữ liệu HangHoa.mdb.
o Nhấp chuột phải trên kết nối dữ liệu conHH & chọn Add Command; sửa Command Name là: comHH; chọn Table từ Combo Box Database Object, chọn THANGHOA từ Combo Box Object Name.
o Trước khi đóng hộp thoại này, ta chuyển qua nhãn Advanced & thiết lập LockType là 3 – Optimistic (mặc nhiên là 1 – Read Only); Cursor Location: Use client-side cursor. Nhờ vậy ta mới có thể cập nhật Record Set từ chương trình của ta.
o Trở lại giao diện DED, ta được:
4) Tạo một ứng dụng nhập liệu với DED
o Ở môi trường DED, ta kéo các trường của Command comHH vào Form1, chỉnh sửa lại cho thích hợp.
o Ở đây ta có sử dụng một lưới để hiển thị dữ liệu; do vậy ta chọn Project\Component; chọn Microsoft DataGrid Control 6.0 (OLE DB); sau đó kéo điều khiển này vào Form, thiết lập các thuộc tính cho thích hợp.
Name: grdHH.
DataSource: datHH DataMember: comHH
o Nhấp chuột phải lên điều khiển DataGrid, chọn Retrieve Structure. Sau đó, lưu dự án & chạy chương trình ta được:
Hình 12.5: Form hiển thị table THangHoa
o Thêm các nút hành động (Thêm, Sửa, Xóa,…). Chẳng hạn các sự kiện cmd_Them_Click, cmdXoa_Click, cmdLuu_Click, cmdHuy_Click được xử lý:
Hình 12.6: Form nhập hoàn chỉnh cho table THangHoa Private Sub cmdThem_Click()
With datHH.rscomHH .AddNew
End With End Sub
Private Sub cmdXoa_Click() With datHH.rscomHH .Delete
.Update Me.Refresh End With
End Sub
Private Sub cmdHuy_Click() With datHH.rscomHH .CancelUpdate Me.Refresh End With
End Sub
Private Sub cmdLuu_Click() On Error GoTo Xuly With datHH.rscomHH .Update
End With
Exit Sub Xuly:
MsgBox Err.Description, vbCritical + vbSystemModal,
"Error"
End Sub
Như vậy, ta đã thiết kế xong một Form cho phép hiển thị thông tin các hàng hóa, Form này cho phép sửa đổi, thêm mới các mẩu tin trong bảng THANGHOA của CSDL HANGHOA.MDB.
5) Đối tượng Command sử dụng câu lệnh SQL
o Ta có thể thiết kế các câu lệnh SQL cách nhanh chóng nhờ sử dụng trình SQL Builder.
o Với trình DataEnvironment trên, ta thêm một đối tượng Command nữa;
nhưng đối tượng Command này lấy dữ liệu từ câu lệnh SQL. Ở đây, ta cần hiển thị thông tin về các loại hàng hóa & tên loại hàng tương ứng.
o Sau khi thêm một đối tượng Command vào, ta sửa các thuộc tính như sau:
Name: comHH_Loai
Source of Data : SQL Statement.
o Sau đó chọn SQL Builder trong cửa sổ thuộc tính; một cửa sổ hiện ra. Kéo bảng THangHoa & TLoaiHang trong cửa sổ DataView vào khung Diagram của trình SQL Builder. Check chọn các trường tương ứng (MaHang, TenHang, DVTinh, TenLoai). Ta được kết quả sau (hình dưới).
o Đóng cửa sổ này lại; ta được một đối tượng Command mới.
Diagram
SQL
Hình 12.7: Cửa sổ SQL Builder