Sau khi tạo ra cấu trúc cơ sở dữ liệu, tạo bảng chứa các trường định nghĩa kiểu dữ liệu sẽ có.
Ví dụ: ta tạo các bảng Danh sách khách hàng (tblDS_KH) và bảng Đơn đặt hàng (tblD_DH) như sau:
Field | Mô tả | Type | Size |
Makh | Mã khách hàng | Text | 6 |
Tenkh | Tên khách hàng | Text | 50 |
Diachi | Địa chỉ | Text | 200 |
Dienthoai | Điện thoại | Text | 10 |
Fax | Số Fax | Text | 10 |
Company | Tên công ty | Text | 200 |
Utien | Ưu tiên | Binary | |
Thư điện tử | Text | 50 |
Có thể bạn quan tâm!
- Gỡ Bỏ Phần Tử Ảnh Khỏi Imagelist Vào Lúc Thi Hành
- Lập trình Window - 16
- Nhắc Lại Một Số Khái Niệm Về Cơ Sở Dữ Liệu
- Truy Xuất Dữ Liệu Thông Qua Data Control
- Tham Chiếu Đến Thư Viện Đối Tượng Của Dao
- Lập trình Window - 21
Xem toàn bộ 248 trang tài liệu này.
Field | Mô tả | Type | Size |
Maddh | Mã đơn đặt hàng | Text | 30 |
Makh | Mã khách hàng | Text | 6 |
Ngaydh | Ngày đặt hàng | Date/Time | |
Ngayhg | Ngày hẹn giao hàng | Date/Time | |
Ddgiao | Địa điểm giao hàng | Text | 200 |
Ta có thể kết nối hai bảng thông qua trường Makh. Đây là mối quan hệ một - nhiều, đối với một bản ghi trong tblDS_KH, có thể không có, hoặc có nhiều bản ghi tương ứng trong bảng tblD_DH.
5.1.4. Recordset
Thao tác trên các bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng cũng như việc kiểm tra và sửa đổi cấu trúc các bảng. Để thao tác với cấu trúc bảng chúng ta dùng các câu lệnh định nghĩa dữ liệu. Để thao tác dữ liệu trong một bảng chúng ta dùng Recordset.
Một Recordset là một tập hợp con các bản ghi được lấy từ cơ sở dữ liệu. Về khái niệm Recordset tương tự như một bảng nhưng có các thuộc tính và phương thức riêng. Chúng ta có thể lập trình để tạo và sử dụng các recordset theo một trong ba kỹ thuật kết nối cơ sở dữ liệu: Các đối tượng truy cập dữ liệu (DAO), các đối tượng truy cập từ xa (RDO) và các đối tượng dữ liệu ActiveX (ADO).
5.2. Visual Data Manager
5.2.1. Tạo cơ sở dữ liệu
Để tạo cơ sở dữ liệu dùng Visual Basic, ta có thể dùng tiện ích gọi là Visual Data Manager (VisData). Để chạy VisData, ta thực hiện các bước sau :
Bước 1. Từ menu của Visual Basic chọn mục Add-ins, VisData, cửa sổ VisData sẽ xuất hiện.
Hình 5.1. Cửa sổ Visual Data Manager (VisData)
Bước 2. Từ menu của VisData, chọn File, New. Từ menu con, chọn Microsoft Access, Version 7.0 MDB. Một hộp thoại tập tin xuất hiện. Chọn thư mục ta muốn lưu cơ sở dữ liệu mới rồi gò tên cơ sở dữ liệu chẳng hạn Education. Nhấn chuột vào nút Save. Cơ sở dữ liệu mới được tạo và VisData sẽ hiển thị một vài cửa sổ cho phép ta làm việc với cơ sở dữ liệu được hiển thị như hình dưới đây.
Hình 5.2. Các thành phần trong cửa sổ VisData
Cửa sổ DataBase của VisData chứa tất cả các thành phần của cơ sở dữ liệu. Trong cửa sổ này ta có thể xem các thuộc tính, kiểm tra các bảng và các phần tử khác và
thêm các thành phần mới vào cơ sở dữ liệu. Để xem các thuộc tính, ta nhấn chuột vào dấu cộng ở bên trái của mục Properties. Mục này sẽ mở ra như hình dưới đây.
Hình 5.3. Cửa sổ Data Window
5.2.2. Tạo bảng
Để tạo một bảng cơ sở dữ liệu ta thực hiện các bước sau:
Bước 1. Trong cửa sổ Database của VisData, nhấn chuột phải vào Properties. Một menu ngữ cảnh của cửa sổ sẽ xuất hiện, chọn New Table. Hộp thoại Table Structure sẽ xuất hiện như hình dưới đây.
Hình 5.4. Hộp thoại Table Structure Bước 2. Khai báo tên bảng (Table name);
Bước 3. Khai báo danh sách trường (Field): Tên trường, kiểu dữ liệu, độ rộng.
Ví dụ, ta sẽ tạo cấu trúc bảng để chứa danh sách khách hàng bằng cách thực hiện các thao tác:
- Gò Student trong ô Table Name.
- Nhấn chuột vào nút Add Field. Hộp thoại Add Field sẽ xuất hiện cho phép ta khai báo tên trường, kiểu dữ liệu và độ rộng của trường. Hộp thoại Add Field được hiển thị như hình dưới đây:
Hình 5.5. Hộp thoại Add Field
Trong ô Name gò ID. Đây sẽ là tên của trường mà ta tạo trong bảng Student. Trong ô size gò 5. Điều này chỉ ra rằng mã sinh viên có thể lên đến 5 ký tự, nhưng không thể dài hơn. Chọn Fixed Field để chỉ ra rằng đây không phải là trường có chiều dài biến đổi, rổi nhấn nút OK. Trường được thêm vào cấu trúc cơ sở dữ liệu. Bằng các thao tác tương tự sử dụng Add Field, ta thêm các trường: Name, Age, Sex, Add vào bảng Student. Khi ta hoàn tất việc nhập trường, nhấn nút bấm Close.
Bước 4. Chỉ định chỉ mục và khoá chính
Một chỉ mục là một thuộc tính ta có thể gán cho một trường để tạo sự dễ dàng cho bộ máy cơ sở dữ liệu khi lấy về thông tin chứa trong trường đó. Ví dụ, trong cơ sở dữ liệu theo dòi sinh viên, ứng dụng có thể tìm kiếm các sinh viên theo họ tên sinh viên hoặc mã sinh viên. Do đó, cần thiết phải tạo các chỉ mục trên những trường này để giúp cho quy trình tìm bản ghi dựa trên các trường này nhanh hơn.
Khoá chính là kiểu chỉ mục đặc biệt. Một trường được coi là một khoá chính của bảng phục vụ cho việc xác định duy nhất bản ghi. Vì vậy, không như các kiểu chỉ mục khác, sẽ không có hai bản ghi trên cùng một bảng mà có cùng giá trị cho trường khoá chính. Tương tự, khi thiết kế một trường làm khoá chính, không có bản ghi nào chứa giá trị rỗng, giá trị NULL ở trường này. Khi chỉ ra một trường làm khoá chính của bảng, ta có thể tạo mối quan hệ giữa bảng này với các bảng khác trong cơ sở dữ liệu.
Mỗi bảng mà ta thiết kế phải có ít nhất một khoá chính, và nó phải được đánh số chỉ mục trên những trường mà ta mong đợi sẽ được truy vấn nhiều nhất. Trong trường hợp của bảng Student khoá chính sẽ là trường ID. Các chỉ mục phụ là trường Name.
Để tạo các chỉ mục và các khoá chính, ta thực hiện các thao tác sau :
- Trong hộp thoại Table Structure, nhấn chuột vào nút Add Index. Hộp thoại Add Index xuất hiện.
Hình 5.6. Hộp thoại Add Index to...
- Gò IDindex trong hộp văn bản Name
- Nhấn đúp chuột vào trường ID trong danh sách các trường có sẵn. ID được thêm vào danh sách các trường có chỉ mục. Hộp đánh dấu Primary và Unique phải được chọn theo mặc định.
- Nhấn OK, giờ đây ta có thể tạo thêm chỉ mục cho trường Name.
- Gò tên chỉ mục Nameindex trong hộp văn bản Name
- Nhấn đúp chuột trên trường Name trong danh sách các trường hiện có, Name được thêm vào trong danh sách các trường có chỉ mục.
- Bỏ chọn các hộp đánh dấu Primary và Unique, sau đó nhấn nút OK.
- Nhấn nút chuột Close. Ta sẽ gặp lại hộp hội thoại Table Structure.
Bước 5. Tạo bảng, nhấn nút Build the Table. Bảng sẽ được tạo và thêm vào cửa sổ Database của VisData.
5.2.3. Tạo form dữ liệu tự động
Để tạo form dữ liệu (frmStudent) tự động, ta sử dụng công cụ Data Form Designer... của VisData. Ta thực hiện các bước sau:
Bước 1. Từ cửa sổ VisData, chọn lệnh đơn Utility/Data Form Designer..
Hình 5.7. Mục chọn Data Form Designer tạo Form tự động xuất hiện cửa sổ Data Form Designer.
Bước 2. Từ cửa sổ Data Form Designer, nhập tên Student trong mục Form Name, chọn bảng Student trong mục RecordSource. Danh sách trường trong bảng Student xuất hiện trong mục Available Fields.
Hình 5.8. Hộp thoại Data Form Designer Bước 3. Chọn các trường sẽ thể hiện trên form
Bước 4. Nhấn nút Build Form, ta thu form frmStudent như sau:
Bước 5. Chỉnh sửa form cho hợp lý
5.3. Các đối tượng truy cập dữ liệu
Ta có thể sử dụng một điều khiển để truy cập dữ liệu trong cơ sở dữ liệu. Có một số điều khiển thường được sử dụng như: TextBox, DBGrid, CheckBox, ComboBox,…
5.3.1. Sử dụngTextBox
Tại thuộc tính DataSource của TextBox ta chọn một điều khiển dữ liệu đã đặt lên Form ví dụ Data1.
Tại thuộc tính DataField ta chọn tên trường hiện có trong danh sách. Khi đó dữ liệu của trường được chọn sẽ hiện ra trong hộp TextBox và nếu ta thay đổi nội dung của hộp TextBox thì nội dung của trường cũng thay đổi theo.
5.3.2. Sử dụng DBGrid
So với TextBox thì DBGrid thuận tiện hơn nhiều vì nó cho hiển thị nhiều trường và nhiều bản ghi phụ thuộc vào số cột có thể chọn và số bản ghi của tệp dữ liệu. Điều khiển này cho phép ta hiển thị dữ liệu dưới dạng bảng.
Để hiển thị dữ liệu bằng một DBGrid ta thực hiện như sau:
Chọn điều kiển DBGrid trong hộp công cụ và vẽ điều khiển này lên Form. Nếu điều khiển này chưa có trong hộp công cụ thì ta bổ sung vào hộp công cụ bằng các cách sau: Vào thực đơn Project chọn Components. Sẽ xuất hiện hộp thoại cho phép ta bổ sung các điều khiển vào ToolBox. Trong hộp thoại Components ta chọn tab Control sau đó chọn “Microsoft Data Bound Grid Control 5.0 (SP3)”. Điều khiển này có mặt ngay trong hộp TextBox.
Tại thuộc tính DataSource ta chọn tên một điều khiển dữ liệu đã có.
Tại thuộc tính DataMode chọn Bound. Khi đó nếu nguồn dữ liệu của điều khiển dữ liệu mà thay đổi thì dữ liệu trong bảng cũng thay đổi theo.
5.3.3. Sử dụng các điều khiển khác
CheckBox : Điều khiển cung cấp một điều kiện đúng / sai. Nó chủ yếu rằng buộc với trường Boolean, hay Yes/ No trong một cơ sở dữ liệu.
DBCombo: Điều khiển cần dùng dữ liệu này hỗ trợ một danh sách xổ xuống tương tự điều khiển hộp kết hợp chuẩn của Visual Basic, nhưng nó có thể điền vào danh sách các dữ liệu lấy từ một bảng của cơ sở dữ liệu.
DataGrid : Lưới hiển thị dữ liệu của cơ sở dữ liệu theo dòng và cột. Phiên bản thương phẩm của điều khiển này là điều khiển Apex True DB Grid.
DateTimePicker : Điều khiển này có thể rằng buộc ngày hoặc giờ trong một cơ sở dữ liệu. Nó giúp người sử dụng chọn ngày, giờ một cách dễ dàng dưới dạng đồ hoạ.
DBList : Điều khiển hộp danh sách này tương tự điều khiển hộp danh sách chuẩn (ListBox) của Visual Basic, nhưng nó có thể điền dữ liệu vào danh sách từ một bảng cơ sở dữ liệu.
Hierarchical FlexGrid : Điều khiển cho phép thao tác với nhiều bản ghi quan hệ trong một điều khiển lưới.
PictureBox : Điều khiển hiển thị hình ảnh lấy từ cơ sở dữ liệu.
Label : Điều khiển này cho phép trình bày văn bản từ một trường cơ sở dữ liệu, nhưng không cho phép người sử dụng sửa đổi nó.
MaskedEdit : Điều khiển này tương tự một hộp văn bản, nhưng cung cấp một chức năng kiểm tra nội tại cũng như một hiển thị mặc định gợi ý cho người sử dụng điều kiện nhập vào hộp văn bản.
MSChart : Điều khiển ràng buộc biểu đồ trực tiếp với một điều khiển dữ liệu.