英文VB教程 簡體Visual Basic教程 繁體Visual Basic教程

第25課: 創建 ADO 數據庫


在第23課和第24課裡,我們已學會如何使用數據控件來建立VB數據庫應用程式。然而,數據控件不是一個非常靈活的工具,因為它可只進行有限數據種類的處理及只能在Visual Basic環境中操作。為了克服這些局限性,我們可以使用一個更為強大的數據控件,它就是ADO控件。 ADO的全名是ActiveX Data Objects.。因為ADO是以ActiveX為基礎的,所以它可以在不同的平台(不同的電腦系統)和不同的程式語言裡操作。此外,它可以獲取許多不同類型的數據,如在互聯網瀏覽器顯示的數據,電子郵件正文和其他圖形,甚至比一般的關聯和非關聯式資料庫的資料

為了能夠使用ADO數據控件,您需要把ActiveX Data Control 插入到工具箱。為此,你只需按下CTRL +T 以打開組件對話框,並選擇Microsoft ActiveX Data Control 6. 。接下來您就可以著手建立您的以ADO技術為基礎的VB數據庫應用程式。

 
下面的例子將說明如何建立一個以ADO技術為基礎的數據庫應用程式。首先,把表單命名為frmbooktitle並改變其標題為書名數據庫。其次,插入ADO數據控件,將它命名為adobooks並改變其標題為book。接下來,插入必要的標簽,文本框和命令按鈕。運行時的界面如下圖,它允許添加和刪除記錄,以及更新和瀏覽的數據。

為了能夠獲取和管理數據庫,你需要連接ADO數據控件到一個數據庫檔案。我們可使用VB6配來的數據庫檔案biblio.mdb 。為了連接ADO來此資料庫檔案,請按照下列步驟進行:
1 )點擊一下該ADO控件以啟開其屬性頁。
2 )接下來點擊 ConnectionString 屬性,下面的對話框就會出現。

 

3.)當上述對話框出現時,選擇Use Connection String 的選項。下一步,在數據鏈接屬性頁裡(Data Link Properties),選擇Microsoft Jet 3.51 OLE DBprovider.。

 

下一步是點擊Next 按鈕以選擇biblo.mdb 文件。您可以按一下文本連接,以確保適當的連接數據庫文件。單擊確定以完成連接。 最后,在按一下 RecordSource 屬性,並設定指揮型為 adcmdTable 和選擇表名稱(Titles)。接下來你就可以使用該數據庫文件了。

為了能讀取數據庫裡的記錄,你必須在有關的文本框的屬性頁裡設定它的DataSource 和 Datafield, 如下圖所示。 在我們的范例裡,DataSource 是 adoBooks,書名的 DataField 是 Title, 以此類推。

 

下面的表中列出所有控件的屬性。

控件
Form Name frmBookTitle
Form Caption Book Titles -ADOApplication
ADO Name adoBooks
Label1 Name lblApp
Label1 Caption Book Titles
Label 2 Name lblTitle
Label2 Caption Title :
Label3 Name lblYear
Label3 Caption Year Published:
Label4 Name lblISBN
Label4 Caption ISBN:
Labe5 Name lblPubID
Label5 Caption Publisher's ID:
Label6 Name lblSubject
Label6 Caption Subject :
TextBox1 Name txtitle
TextBox1 DataField Title
TextBox1 DataSource adoBooks
TextBox2 Name txtPub
TextBox2 DataField  Year Published
TextBox2 DataSource adoBooks
TextBox3 Name txtISBN
TextBox3 DataField ISBN
TextBox3 DataSource adoBooks
TextBox4 Name txtPubID
TextBox4 DataField  PubID
TextBox4 DataSource adoBooks
TextBox5 Name txtSubject
TextBox5 DataField  Subject
TextBox5 DataSource adoBooks
Command Button1 Name  cmdSave
Command Button1 Caption &Save
Command Button2 Name  cmdAdd
Command Button2 Caption &Add
Command Button3 Name  cmdDelete
Command Button3 Caption &Delete
Command Button4 Name  cmdCancel
Command Button4 Caption &Cancel
Command Button5 Name  cmdPrev
Command Button5 Caption &<
Command Button6 Name  cmdNext
Command Button6 Caption &>
Command Button7 Name  cmdExit
Command Button7 Caption E&xit

 

最后,您需要編寫所有命令按鈕的程式碼。

 

保存 按鈕的程式碼如下:

Private Sub cmdSave_Click()

adoBooks.Recordset.Fields("Title") = txtTitle.Text
adoBooks.Recordset.Fields("Year Published") = txtPub.Text
adoBooks.Recordset.Fields("ISBN") = txtISBN.Text
adoBooks.Recordset.Fields("PubID") = txtPubID.Text
adoBooks.Recordset.Fields("Subject") = txtSubject.Text
adoBooks.Recordset.Update


End Sub
 

添加 按鈕的程式碼如下:

Private Sub cmdAdd_Click()

adoBooks.Recordset.AddNew

End Sub

 

删除 按鈕的程式碼如下:

Private Sub cmdDelete_Click()


Confirm = MsgBox("Are you sure you want to delete this record?", vbYesNo, "Deletion Confirmation")
If Confirm = vbYes Then
adoBooks.Recordset.Delete
MsgBox "Record Deleted!", , "Message"
Else
MsgBox "Record Not Deleted!", , "Message"

End If

End Sub

 

取消 按鈕的程式碼如下:

Private Sub cmdCancel_Click()

txtTitle.Text = ""
txtPub.Text = ""
txtPubID.Text = ""
txtISBN.Text = ""
txtSubject.Text = ""

End Sub

 之前记录 (<) 按鈕的程式碼如下:

Private Sub cmdPrev_Click()

If Not adoBooks.Recordset.BOF Then
adoBooks.Recordset.MovePrevious
If adoBooks.Recordset.BOF Then
adoBooks.Recordset.MoveNext
End If
End If

End Sub

 下一个记录(>) 按鈕的程式碼如下:

Private Sub cmdNext_Click()

If Not adoBooks.Recordset.EOF Then
adoBooks.Recordset.MoveNext
If adoBooks.Recordset.EOF Then
adoBooks.Recordset.MovePrevious
End If
End If

End Sub

下圖是運行時的輸出界面:



 





版权所有©2008 Dr.Liew Voon Kiong。保留所有权利 。联系我们: VB面子书

[Privacy Policy]