英文VB教程 简体Visual Basic教程 繁体Visual Basic教程

第二十五课: 创建 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。接下来,插入必要的标签,文本框和命令按钮, 运行时的界面如图25.1。它允许添加和删除记录,以及更新和浏览数据。

图25.1


为了能够获取和管理数据库,你需要连接ADO数据控件到一个数据库档案。我们可使用VB6配来的数据库档案biblio.mdb 。为了连接ADO来此资料库档案,请按照下列步骤进行:
1 )点击一下该ADO控件以启开其属性页。
2 )接下来点击 ConnectionString 属性,下面的对话框就会出现。

图25.2

3.)当上述对话框出现时,选择Use Connection String 的选项。下一步,在数据链接属性页中(Data Link Properties),选择Microsoft Jet 3.51 OLE DBprovider, 如图25.3 所示。

图25.3

下一步是点击Next 按钮以选择biblo.mdb 文件。您可以按一下文本连接,以确保连接适当的数据库文件, 然后单击OK按钮以完成连接。

最后,在按一下 RecordSource 属性,并设定指挥型(Command Type)为 adcmdTable 和选择表名称(Titles), 如图25.4 所示。接下来你就可以使用该数据库文件了。

图25.4

为了能读取数据库中的记录,你必须在有关的文本框的属性页中设定它的DataSourceDatafield, 如下图所示。 在我们的范例中,DataSourceadoBooks,书名的 DataField Title,如图25.5 所示。

图25.5

 

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

控件 属性
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

图25.6是运行时的输出界面:

图25.6





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

[Privacy Policy]