用户可以用最少的代码创建数据库应用程序。数据绑定控件是任何具有“数据源”属性的控件。在VB的工具箱中不少控件都可以作为数据绑定的控件,包括复选框、组合框、图像、标签、列表框、图片框及文本框控件等。此外,VB还包括了若干种数据绑定的ActiveX控件,例如DataGrid、DataCombo、Chart及DataList控件等。用户也可以创建自己的数据绑定的ActiveX控件,或使用从其他开发商购买的控件。数据提供者可以是任何符合OLEDB规范的数据源,使用VB的类模块也可以很方便地创建子集的数据提供者。
下面的程序示例中,将使用一个ADO Data控件及一个DataGrid控件,程序执行时如下图:
DataGrid控件显示并允许对Recordset对象中代表记录和字段的一系列行和列进行数据操作,它是一种数据绑定的ActiveX控件。DataGrid控件的每一个单元格都可以包含文本值,但不能链接或内嵌对象。可以在代码中指定当前单元格,或者用户可以使用鼠标或箭头键在运行时改变它。通过在单元格中键入或编程的方式,单元格可以交互地编辑。单元格能够被单独地选定或按照行来选定。
下面我们来完成此程序。首先新建一个标准exe工程,并把工程中form1的caption属性设置为“使用ADO Data控件连接Access的简单实例”,width属性值设为8490。在窗体中加入1个ADO Data控件。如果在工具箱中找不到ADO Data控件,可以右击工具箱,选择“部件...”菜单项,然后在“部件”窗口的“控件”选项卡中选中Microsoft ADO Data Control6.0(OLEDB)。然后再向form1上加入一个DataGrid控件,并将其width属性值设为8055。如果工具箱中不存在这个控件,可以右击工具箱,在“部件”窗口的“控件”选项卡中选中Microsoft DataGrid Control6.0(OLEDB)。完成后如下图所示:
下面我们对这些控件的一些属性进行设置。 设置Adodc1:
(1) ConnectionString属性
ConnectionString属性表示Adodc1的连接字符串,可以通过三种方法来设置连接字符串属性,如下图所示。这里我们选择“使用ODBC数据源名称”,并在下拉框中选择Access_db,单击确定按钮,就可以在ConnectionString属性中看到“DSN=Access_db”的字符串形式。
(3) RecordSource属性
RecordSource属性设置RecordSet源,这里我们将在属性页的命令文本下输入如下的SQL语句:
Select * From wzdz Order By 网站名称
单击确定按钮,就可以在RecordSource属性中看到“Select * From wzdz Order By 网站名称”的字符串形式,如下图:
设置DataGrid1的DataSource属性:DataSource属性为该控件指定数据源,本例中该属性被设置为名为“Adodc1”的ADO Data控件,这将返回“网站地址”表中的所有记录。
运行一下程序,可以看到程序已经成功连接到了Access_db.mdb数据库,并读取“wzdz”表的所有记录显示到DataGrid控件中。
更进一步的,如果将DataGrid控件的AllowAddNew、AllowDelete和AllowUpdate属性分别设置为true,则可在程序运行时通过其添加、删除和更新数据库中的记录。
VB数据库操作实例
2008年02月22日 05:49
VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。
《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。
在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid控件就已经放置在工具箱中了。 其中Adodc控件的ConnectionString属性值是:
\家庭书架.mdb;Persist Security Info=False\,它设置链接了“家庭书架.mdb”这个Access数据库,RecordSourc属性值是:\图书登记表.ID,图书登记表.名称,图书登记表.书号,图书登记表.作者,图书登记表.出版社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.地址,图书登记表.备注,图书登记表.出借记录 from 图书登记表,出借记录 where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID\,因为在“家庭书架.mdb”数据库中包含\图书登记表\和\出借记录\二个数据表,这是多表链接的典型的SQL语句。Adodc的这二个
属性值在VB的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。
MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻烦: 首先将它的DataSource属性在属性窗口设置为\;
然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。
另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值即可。 最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:
设置和调整控件如上图后,设置数据库,在程序目录新建一个Access数据库,修改数据库的名称为“家庭书架.mdb”,新建二个数据表,分别是:“图书登记表”和“出借记录”:
在“图书登记表”中添加字段:“ID”为自动编号、主键,“名称”为文本、大小50,“书号”为文本、大小30,“作者”为文本、大小40,“出版社”为文本、大小60,“出借状态”为文本、大小20,“出借记录”为数字、长整型,“备注”为文本、大小50;
在“出借记录”中添加字段:“ID”为自动编号、主键,“zhuID”为数字、长整型,“名称”为文本、大小50,“借书人”为文本、大小20,“电话”为文本、大小20,“地址”为文本、大小50。 数据库设置成功。
最后点击【视图】-【代码窗口】输入下面的代码: '模块级变量
Dim ZFC As String Dim ROSX As Integer
'------------------------------------- '添加记录事件
Private Sub Command1_Click() '添加记录
Dim FL As String, XID As Long FL = App.Path & \家庭书架.mdb\Set conn = OpenDatabase(FL)
strSQL = \图书登记表\Set rs = conn.OpenRecordset(strSQL) rs.AddNew
rs!名称 = Text1(0).Text rs!书号 = Text1(1).Text rs!作者 = Text1(2).Text rs!出版社 = Text1(3).Text rs!出借状态 = Combo1.Text rs!备注 = Text1(7).Text
If Combo1.Text = \出借\出借记录 = 1 rs.Update rs.Close
Set rs = Nothing
strSQL = \图书登记表 Order By ID Desc\Set rs = conn.OpenRecordset(strSQL) XID = rs!ID rs.Close
Set rs = Nothing
strSQL = \出借记录\Set rs = conn.OpenRecordset(strSQL) If Combo1.Text = \出借\rs.AddNew
rs!zhuID = XID
rs!名称 = Text1(0).Text rs!借书人 = Text1(4).Text rs!电话 = Text1(5).Text rs!地址 = Text1(6).Text rs.Update Else
rs.AddNew
rs!zhuID = XID rs!名称 = \
rs!借书人 = \没有出借\