VB与数据库(4)

2019-08-30 17:05

232 Visual Basic程序设计导学 10.3.5 Data控件应用例子

本应用程序设计一个窗体,如图10.12所示,窗体中包含的各控件及其属性设置如表10.2所列。

图10.12 Data控件应用例子设计界面

表10.2 控件及其属性设置

控件名字 Data1 Combo1 Combo2 cmdAdd cmdDelete cmdFind cmdUpdate cmdClose txtFields(0)

txtFields(1)

属性 Caption Connect DatabaseName DefaultCursorType DefaultType Exclusive Options ReadOnly RecordsetType RecordSource DataField DataSource DataField DataSource Caption Caption Caption Caption Caption DataField DataSource DataField DataSource

属性值 \\

\0 '默认游标 2 '使用 ODBC 0 'False 0 0 'False 1 'Dynaset \学生表\\性别\\\民族\\\添加\\删除\\查找\\更新\\关闭\\学号\\\姓名\\

第10章 VB与数据库 233 txtFields(2)

lblLabels(0)

DataField DataSource AutoSize Caption

\班号\\-1 'True \学号:\

续表

控件名字 lblLabels(1)

lblLabels(2)

lblLabels(3)

lblLabels(4)

属性 AutoSize Caption AutoSize Caption AutoSize Caption AutoSize Caption

属性值 -1 'True \姓名:\-1 'True \性别:\-1 'True \民族:\-1 'True \班号:\

本例的执行界面如图10.13所示。在开始时,数据库表中数据为空,先单击“添加”按钮,然后输入或选择各字段的值,然后单击“更新”按钮,则输入了一个记录。

图10.13 Data控件应用例子执行界面

在本例窗体中设计如下事件过程:

Private Sub cmdAdd_Click() Data1.Recordset.AddNew cmdDelete.Enabled = False cmdFind.Enabled = False cmdUpdate.Enabled = True txtFields(0).SetFocus End Sub

Private Sub cmdDelete_Click()

If MsgBox(\真的要删除当前记录吗\信息提示\ Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveFirst

234 Visual Basic程序设计导学 If Data1.Recordset.BOF Then cmdDelete.Enabled = False cmdFind.Enabled = False End If End If End If End Sub

Private Sub cmdClose_Click() Unload Me End Sub

Private Sub cmdFind_Click() Dim str As String

str = InputBox(\输入查找表达式,如年龄=9\查找\ If str = \ Data1.Recordset.FindFirst str

If Data1.Recordset.NoMatch Then

MsgBox \指定的条件没有匹配的记录\信息提示\ End If End Sub

Private Sub cmdUpdate_Click() Data1.UpdateRecord

Data1.Recordset.Bookmark = Data1.Recordset.LastModified cmdUpdate.Enabled = False cmdDelete.Enabled = True cmdFind.Enabled = True End Sub

Private Sub Data1_Error(DataErr As Integer, Response As Integer) MsgBox \数据错误事件命中错误:\ Response = 0 '忽略错误 End Sub

Private Sub Data1_Reposition() Screen.MousePointer = vbDefault On Error Resume Next

Data1.Caption = \记录:\End Sub

Private Sub Form_Initialize()

If Data1.Recordset.EOF And Data1.Recordset.BOF Then '检测记录集是否为空 cmdFind.Enabled = False cmdDelete.Enabled = False Else

Data1.Recordset.MoveFirst '指向第一个记录 End If

cmdUpdate.Enabled = False End Sub

第10章 VB与数据库 235 10.4 DBGrid控件

VB提供了一个简单、方便、快捷的数据库访问对象即Data控件,利用它只需少量的代码即可访问多种数据库中的数据。但是,只有Data控件是不够的,必须利用数据绑定控件来显示、编辑和查询数据库中的数据。数据绑定控件也叫数据识别控件,可通过它访问数据库的信息。当一个控件通过设置属性被绑定到Data控件时,VB会把从当前数据库记录取出的相应字段值应用于该控件,控件显示数据并接受更改。

在VB中可以与Data控件一起使用的标准绑定控件包括:复选框、图像框、图片框、标签、文本框、列表框和组合框。大多数数据绑定控件都有DataSource和DataField属性,前者指定绑定的数据源,后者指定绑定的字段。

这里主要讨论DBGrid控件。

10.4.1 用DBGrid控件浏览数据库表

在使用DBGrid控件之前,必须通过“工程”菜单的“部件”选取“Microsoft Data Bound Grid Control 5.0”,如图10.14所示。单击“确定”后,DBGrid控件的图标出现在工具箱中,我们可以像内部控件一样将它拖放在窗体中。

图10.14 “工程”菜单下的“部件”对话框

把DBGrid控件的DataSource属性设置为一个Data控件的方法是:在窗体的空白位置上右击鼠标,在出现的快捷菜单中选择“属性窗口”,出现属性窗口,在上方的对象框中选择DBGrid控件的名称,然后设置其DataSource属性的值。

当把DBGrid控件的DataSource属性设置为一个Data控件时,DBGrid控件会被自动填充并且其列标题会用Data控件的记录集里的数据自动设置。如果不是这样,选中该控件,单击鼠标右键,选择“Retrieve Fields”(检索字段)进行列的自动填充。这就提供了大量的“已就绪”的功能,它们允许浏览和编辑完整的数据库表和查询结果。

236 Visual Basic程序设计导学 可把焦点设在各个单元格上并直接编辑单元格里的数据。也可选择以行或以列为基础的单元格。每一列有它自已的字体、边框和颜色等属性,它们不用考虑其他列就能够设置。在设计时,能设置列宽和行高等。

DBGrid控件依靠两个对象:Data控件的Recordset对象和DBGrid本身的Columns集合。DBGrid控件实际上是Column对象的集合,其中每个对象有不同数量的行。每一列对应着数据库表的一个字段,而每一行则对应一个记录。DBGrid控件的Columns集合的Count属性决定了列的数量,而Data控件的Recordset对象的RecordCount属性决定了行的数量。

操作中,Row和Col属性指定了网格里的当前单元格。代码中可指定当前单元格,或在运行时用鼠标或箭头键改变当前单元格。当前单元格改变时,Data控件的记录集自动地重新定位在包含选中单元格的记录上。通过向单元格键入或改变当前选定的Column对象的Value属性,各个单元格都能交互地编辑。

使用DBGrid控件显示和浏览一个已有的数据库表的步骤如下: (1)在新窗体中添加一个Data控件,再设置其DatabaseName和RecordSource属性为想要显示的数据库和表。

(2)在窗体中添加一个DBGrid控件,并设置其DataSource属性为刚创建的Data控件。 (3)设置DBGrid控件的其他相关属性。 (4)运行程序。 程序运行时,指定的数据库表将完整地与列标题和滚动条一起显示在DBGrid控件中,可直接滚动表的所有记录和字段。另外,还可编辑表里的任意单元格,而当移动到一新行时,它被自动更新(假设基本记录集是可更改的且DBGrid控件的AllowUpdate属性设置为True)。将AllowAddNew和AllowDelete属性设置为True,通过选择并删除整行就能删除该记录。

10.4.2 DBGrid控件设计操作

当第一次创建DBGrid控件时,它只有一行和一列,还包含一个空行(在运行时用星号来标示),用来添加新记录。在“属性”窗口通过设置可以改变DBGrid控件的任何可视属性。DBGrid控件的“属性页”如图10.15所示。


VB与数据库(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湘少版小学英语六年级上册教材分析及教法指导

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: