• Thứ Tư, 16/08/2006 15:44 (GMT+7)

    Cách dùng ADO trong VB6 để lập trình CSDL (MS Access)

    Câu hỏi :
    Xin hướng dẫn cách dùng ADO trong VB6 để lập trình CSDL (MS Access) theo mô hình Client - Server (một máy chứa CSDL, các máy còn lại chạy ứng dụng truy xuất CSDL).
     

    Trả lời :

    Các server database mạnh hiện nay đều là server mạng, cho phép các ứng dụng client ở máy khác truy xuất database do nó quản lý. Trong VB 6.0, dùng các đối tượng ADO để truy xuất database là dễ dàng, an toàn và tổng quát nhất. Thí dụ để hiển thị các record trong table tên là "testdb" (mỗi record có 3 field: hoten, namsinh, tuoi) trong database MyDB do server ở máy hiepdesktop quản lý (máy hiepdesktop là máy nào đó trong mạng), bạn có thể dùng đoạn code VB mẫu sau:
     
     Private Sub Form_Load()
     'khai báo các biến cần dùng
     Dim MyConString As String
     Dim MyConnection As New ADODB.Connection
     Dim MyCommand As New ADODB.Command
     Dim MyRecordset As ADODB.Recordset
     Dim strLoaitu As String
     Dim i As Integer
     'Connection string dùng DSN và Provider SQL Server
     'nhờ DSN mà đoạn code dưới đây không phụ thuộc vào
     'vị trí và công nghệ database cần truy xuất.
     MyConString = "DSN=MySQL"
     'hoặc Connection string dùng trực tiếp Provider SQL Server
     'MyConString = "DRIVER={SQL Server};" & _
     ' "SERVER=hiepdesktop;" & _
     ' "DATABASE=MyDB;" & _
     ' "UID=root;" & _
     ' "PWD=lachan;"
     
     'tạo 1 connection đến database
     MyConnection.Open MyConString
     'tạo đối tượng Command đọc tất cả record trong table testdb
     MyCommand.ActiveConnection = MyConnection
     MyCommand.CommandText = "SELECT * FROM testdb"
     Set MyRecordset = MyCommand.Execute()
     'duyệt từng record đọc được và hiển thị lên ListBox lbOutput
     i = 1
     While Not MyRecordset.EOF
     lbOutput.AddItem "Record " & i & " : " & _
     MyRecordset.Fields("hoten") & _
     ", " & MyRecordset.Fields("namsinh") & ", " _
     & MyRecordset.Fields("hoten")
     MyRecordset.MoveNext
     i = i + 1
     Wend
     'đóng các đối tượng đã dùng lại
     MyRecordset.Close
     MyConnection.Close
     End Sub

    Lưu ý để Project VB 6.0 của bạn có thể dùng các đối tượng trong thư viện ADO, bạn cần thực hiện menu Project.References, chọn mục "Microsoft ActiveX Data Object 2.x Library" và OK. Nếu bạn dùng DSN để truy xuất database, nhờ đó đoạn code của bạn hoàn toàn độc lập với vị trí và công nghệ database, bạn phải định nghĩa DSN trước bằng cách vào Control Panel.Administrative Tools.Data Sources (ODBC) rồi khai báo các thông số liên quan đến database cần truy xuất như địa chỉ server, Provider, tên database, username/password truy xuất... Thông tin chi tiết về các đối tượng trong thư viện ADODB được trình bày rất rõ ràng trong CD MSDN của Microsoft.
     

    Chuyên mục: Windows