vb数据库编程(以access编程为例).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《vb数据库编程(以access编程为例).pdf》由会员分享,可在线阅读,更多相关《vb数据库编程(以access编程为例).pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 访问 ACCESSCGS VB 数据库编程 2008/1 ACCESS 数据库|小二黑 数据库编程 2008/12/15 VB 数据库编程 2008 2 V VB B 数据库数据库编程编程 时间:2008-12-15 来源:本站专稿 作者:小二黑 序序 vb 数据库操作是初学者普遍感到头疼的地方,因为现有的 vb 教材和资料中的数据库操作这部分,多是泛泛而谈或是一带而过。因此就想组织一个包括添加、修改、删除这些基本功能的数据库操作实例供大家参考。久已未用 vb6,机器里已经装上了 VS 2008,再改回 vb6,感觉实在是怪怪的。还好有朋友帮忙,感谢“小二黑”网友供稿!也许有朋友觉得 vb6
2、 版本已经很低了,做这个事还有意义吗?其实对微软来说,vb5 是vb,vb6 是 vb,VS.net 中的 也是 vb;而对于许多初学者来说,vb 只是 vb6,为什么这么说呢?因为对于许多不了解编程的朋友来说,似乎 vb 就是编程的代名词,学编程的第一反应就是学 vb,而民间的电脑培训学校开设的多数都是 vb6 课程,那么他们学到的都是vb6;同时计算机等级考试也可以用 vb6 来过级,有相当部分的朋友是为了考证而学编程的,你相信他会放着简单易学的 vb6 不学,而去研究庞大的.NET 吗?因此我觉得这个事还是值得去做的,所以就有了下面这几篇文章。祝朋友们学习愉快!编写一个小型的信息管理系统
3、编写一个小型的信息管理系统 受委托为编程入门网做一个简单的 vb 操作数据库的实例,来演示一下如何用 vb 向数据库中添加、修改、删除记录这些操作。我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。不过没有办法,我们这一圈人里现在只有我机器上还有 vb6,勉为其难,只有尝试一下了。如果我写的这点幼稚的东西能为想要了解 vb 数据库操作的朋友提供哪怕是一丁点儿的参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。该系统后台使用的是 Access 数据库,程序中使用 ADO 代码链接的形式连接 Acces
4、s。该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运VB 数据库编程 2008 3 行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。所有代码均在Windows 2003+Vusual Basic 6.0 环境下调试通过。系统运行时如下图:准备数据库准备数据库 我用的是 Access 2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,
5、比如实体、一对一联系、一对多联系等等;此外,对 sql 语言也需要有所了解。具体您可以参考:数据库基础知识 ABC。首先,在“我的电脑”的 e 盘新建一个名为 vb 文件夹,先打开 Access,新建一个名为Access_db 的数据库(Access 数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为 E:vbAccess_db.mdb。然后在 Access_db.mdb 中建立一个名为 wzdz 的表(wzdz是“网站地址”的首字母缩写),然后在 wzdz 表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下:数据类型:文本。字段
6、大小:50 有效性规则:无。必填字段:否 允许空字符串:否 VB 数据库编程 2008 4 索引:无 “编号”这个字段使用的是 Access 的自动编号,并将其作为主键。也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按 Access 的提示添加主键,Access 会自动为您搞定。具体操作您可以参考:vb 神童教程(续)-vb 连接 Access 数据库实例 这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。为了
7、方便起见,我们在 Access 中给 wzdz 表中预先添加两条初始记录:编号 网站名称 网站地址 网站描述 1 编程入门网 http:/ 各种编程文档、电脑教程及软件应用技巧,您的电脑技术加油站!2 健康生活网 www.health163.org 您的健康指南 添加的方法很简单:在 Access 的设计器中直接双击 wzdz 表名,在出来的窗口中添加即可。添加时注意:因为我们使用的是 Access 的自动编号做主键,所以在添加时不用理“编号”这个字段,直接添加后三个字段即可。下一步的工作,是设计系统的界面及设置各个对象的属性。本系统是一个很简单的数据库操作实例,能够对数据库的添加、修改及删除
8、记录这几个基本的操作。系统使用数据显示控件MSHFlexGrid显示数据库中的记录,使用数据链接控件Adodc链接数据库作为 MSHFlexGrid 的数据源,使用文本框来接收系统运行时用户输入的数据。步骤如下:一、启动 vb6,新建一个标准 exe 工程,并将工程中的 form1 的 caption 属性设置为“编程入门网网址管理系统”,width 属性值设为 7950,height 属性值设为 4620。二、向窗体中添加一个 Adodc 控件。如果在工具箱中找不到 Adodc 控件,可以右击工具箱,选择“部件.”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft ADO
9、Data Control6.0(OLEDB)”。在 VB 的属性窗口我们对 Adodc 控件的三个个属性值进行编辑,其余属性值使用默认的即可:VB 数据库编程 2008 5 1、ConnectionString 属性值设为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:vbAccess_db.mdb;Persist Security Info=False 这个属性设置了连接 Access_db.mdb 这个数据库。2、RecordSourc 属性值设为:select*from wzdz 这个属性值中的 sql 语句的作用是查询出 wzdz 表中的
10、所有记录。3、Visible 属性值设为 False,作用是使其在运行时不可见。三、向窗体添加一个 MSHFlexGrid 控件,如果工具箱中没有 MSHFlexGrid 控件,可以右击工具箱,选择“部件.”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft Hierarchical FlexGrid Control 6.0”。然后在 vb 的属性窗口中将MSHFlexGrid 控件的名称修改为 MS1,如下图:然后对 MSHFlexGrid 控件进行如下设置:1、DataSource 属性:在 vb 的属性窗口中将其值设为 Adodc1,即使用 Adodc 控件作为其数据源
11、。2、BackColorBkg 属性:在 vb 的属性窗口中将其值设为&H00FFE0E0&,这是设置的MSHFlexGrid 控件的底色。3、BackColorFixed 属性:在 vb 的属性窗口中将其值设为&H00C0FFFF&,这是设置的MSHFlexGrid 控件的显示标题的底色。4、width 属性:在 vb 的属性窗口中将其值设为 7695.5、Height 属性:在 vb 的属性窗口中将其值设为 2175.6、右击 MSHFlexGrid 控件,在弹出的菜单中选“属性”,在弹出的“属性页”对话框的在“通用”选项卡中修改行为 4,修改列为 4,修改固定行为 0,修改固定列为 0。
12、如果数据链接正常,在“属性页”对话框的“带区”选项卡中可以看到列标题和列名称已经设置了,这里注意应该将“带区”选项卡中的“列标头”选项勾选上,否则运行时无法显示列标题,如下图。“属性页”对话框的其它部分使用默认值即可。VB 数据库编程 2008 6 四、向窗体中添加 4 个 Label 控件(标签),在 vb 的属性窗口为它们设置以下属性:1、caption 属性:分别设置为网站名称、网站地址、网站描述及编号。2、Alignment 属性:均设为“2-Center”。3、AutoSize 属性:均设为 True。五、向窗体中添加 4 个 TextBox 控件(文本框),并调整它们的位置成一排与
13、 4 个标签相对应,即:网站名称Text1,网站地址Text2,网站描述Text3,编号Text4。六、向窗体中添加 4 个 CommandButton 控件(命令按钮),将它们的 caption 属性分别设置为“添加记录”、“修改记录”、“删除记录”和“退出系统”,并调整它们的位置成一排,放在文本框的下方。七、在两排文本框和命令按钮中间,添加一个 Line 控件,适当拖动其两端的控制点将长短调整至适当,并将其 BorderColor 属性性设为&H00C00000&,作用是把文本框和命令按钮隔开,这样在视觉上似乎能好看些。八、所有控件设置完毕后,界面如下图所示:VB 数据库编程 2008 7
14、 下一步的工作,是为对象添加事件代码。为对象添加事件代码为对象添加事件代码 一、form1 的 load 事件代码:Private Sub Form_Load()Form1.MS1.ColWidth(0)=600 Form1.MS1.ColWidth(1)=1000 Form1.MS1.ColWidth(2)=2300 Form1.MS1.ColWidth(3)=4000 Form1.Text1.Text=Form1.Text2.Text=Form1.Text3.Text=Form1.Text4.Text=End Sub 主要是在系统初始化时设置 MSHFlexGrid 控件的列宽,并将文本框
15、置空。二、“添加记录”按钮(command1)的 click 事件代码:Private Sub Command1_Click()Dim sc As Integer If Text1.Text=Or Text2.Text=Or Text3.Text=Then 即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据 由于系统数据库设计为“编号”字段采用的是 Access 的自动编号 因此在添加记录时不接收编号的数据,由 Access 自动加编号 MsgBox(请输入完整的网站信息)Else sc=MsgBox(确实要添加这条记录吗?,vbOKCancel,提示信息)VB 数据库编程
16、 2008 8 If sc=1 Then 运行时如果用户点击的是 MsgBox 提示框的“确定”按钮,返回值是 1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1=Provider=Microsoft.Jet.OLEDB.4.0;Str2=Data Source=E:vbAccess_db.mdb;Str3=Jet OLEDB:Database Password=conn.Open Str1&S
17、tr2&Str3 strSQL=select*from wzdz rs.Open strSQL,conn,3,3 rs.AddNew rs!网站名称=Text1.Text rs!网站地址=Text2.Text rs!网站描述=Text3.Text rs.Update rs.Close conn.Close MsgBox(添加记录成功!)Adodc1.Refresh 刷新数据源,MSHFlexGrid 控件会实时刷新显示数据 End If 以下四条语句的作用是在操作完成后将文本框置空 Text1.Text=Text2.Text=Text3.Text=Text4.Text=End If End S
18、ub 三、“修改记录”按钮(command2)的 click 事件代码:Private Sub Command2_Click()If Not IsNumeric(Text4.Text)Or Val(Text4.Text)=0 Then 编号字段是 Access 的自动编号,为自然数 因此对 text4 的内容进行校验,如果不是数值或为 0 则跳出 sub 过程 MsgBox 记录号是大于 0 的自然数,请输入正确的编号!Exit Sub End If If Text1.Text=Or Text2.Text=Or Text3.Text=Then 对三个文本框的内容进行校验,不接收空值 MsgBo
19、x 请输入完整的网站信息!Exit Sub End If VB 数据库编程 2008 9 Dim sc As Integer sc=MsgBox(确实修改这条记录吗?,vbOKCancel,提示信息)If sc=1 Then 运行时如果用户点击的是 MsgBox 提示框的“确定”按钮,返回值是 1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1=Provider=Microsoft.Jet.OL
20、EDB.4.0;Str2=Data Source=E:vbAccess_db.mdb;Str3=Jet OLEDB:Database Password=conn.Open Str1&Str2&Str3 strSQL=select*from wzdz where 编号=&Val(Text4.Text)&rs.Open strSQL,conn,3,3 If rs!编号=Val(Text4.Text)Then 由于系统数据库使用的是自动编号作为主键 因此以编号字段的内容作为判断的依据 如果 rs!编号=Val(Text4.Text)说明数据库中有此记录,才会修改其它三个字段的内容 否则给出“不存在此
21、记录”的提示信息并关闭数据连接 rs!网站名称=Text1.Text rs!网站地址=Text2.Text rs!网站描述=Text3.Text rs.Update rs.Close conn.Close MsgBox(修改记录成功!)Adodc1.Refresh 刷新数据源,MSHFlexGrid 控件会实时刷新显示数据 Else MsgBox(不存在此记录!)Text1.Text=Text2.Text=Text3.Text=Text4.Text=rs.Close conn.Close Exit Sub End If End If 以下四条语句的作用是在操作完成后将文本框置空 Text1.T
22、ext=Text2.Text=Text3.Text=VB 数据库编程 2008 10 Text4.Text=End Sub 四、“删除记录”按钮(command3)的 click 事件代码:Private Sub Command3_Click()If Not IsNumeric(Text4.Text)Or Val(Text4.Text)=0 Then 编号字段是 Access 的自动编号,为自然数 因此对 text4 的内容进行校验,如果不是数值或为 0 则跳出 sub 过程 MsgBox 编号是大于 0 的自然数,请输入正确的编号!Exit Sub End If Dim sc As Inte
23、ger sc=MsgBox(确实要删除这个记录吗?,vbOKCancel,删除确认!)If sc=1 Then 运行时如果用户点击的是 MsgBox 提示框的“确定”按钮,返回值是 1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1=Provider=Microsoft.Jet.OLEDB.4.0;Str2=Data Source=E:vbAccess_db.mdb;Str3=Jet OLEDB
24、:Database Password=conn.Open Str1&Str2&Str3 strSQL=select*from wzdz where 编号=&Val(Text4.Text)&rs.Open strSQL,conn,3,3 If rs!编号=Val(Text4.Text)Then 由于系统数据库使用的是自动编号作为主键 因此以编号字段的内容作为判断的依据 如果 rs!编号=Val(Text4.Text)说明数据库中有此记录并进行删除操作 否则给“不存在此记录”的提示信息并关闭数据连接 rs.Delete rs.Close conn.Close MsgBox(删除记录成功!)Adod
25、c1.Refresh 刷新数据源,MSHFlexGrid 控件会实时刷新显示数据 Else MsgBox(不存在此记录!)Text4.Text=rs.Close conn.Close Exit Sub End If End If 以下四条语句的作用是在操作完成后将文本框置空 VB 数据库编程 2008 11 Text1.Text=Text2.Text=Text3.Text=Text4.Text=End Sub 五、“退出系统”按钮(command4)的 click 事件代码:Private Sub Command4_Click()Dim sc As Integer sc=MsgBox(确实要退
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 数据库 编程 access
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内