vb数据库操作实例(13页).doc

上传人:1595****071 文档编号:38952571 上传时间:2022-09-06 格式:DOC 页数:13 大小:153KB
返回 下载 相关 举报
vb数据库操作实例(13页).doc_第1页
第1页 / 共13页
vb数据库操作实例(13页).doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《vb数据库操作实例(13页).doc》由会员分享,可在线阅读,更多相关《vb数据库操作实例(13页).doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-vb数据库操作实例-第 13 页第一部分:vb数据库操作实例vb神童教程(续)-编写一个小型的信息管理系统vb神童教程(续)-准备数据库vb神童教程(续)-设计系统的界面及对象的属性vb神童教程(续)-为对象添加事件代码vb神童教程(续)-编写一个小型的信息管理系统受委托为编程入门网做一个简单的vb操作数据库的实例,来演示一下如何用vb向数据库中添加、修改、删除记录这些操作。我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。不过没有办法,我们这一圈人里现在只有我机器上还有vb6,勉为其难,只有尝试一下了。如果我写的这点幼稚的东西能为想要了解vb数据库操作的朋友提供哪怕是一丁点儿的

2、参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。该系统后台使用的是Access数据库,程序中使用ADO代码链接的形式连接Access。该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。所有代码均在Windows 2003+Vusual Basic 6.0环境下调试通过。系统运行时如下图:vb神童教程(续)-准备数据库我用的是Ac

3、cess 2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,比如实体、一对一联系、一对多联系等等;此外,对sql语言也需要有所了解。具体您可以参考:数据库基础知识ABC。首先,在“我的电脑”的e盘新建一个名为vb文件夹,先打开Access,新建一个名为Access_db的数据库(Access数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为E:vbAccess_db.mdb。然后在Access_db.mdb中建立一个名为wzdz

4、的表(wzdz是“网站地址”的首字母缩写), 然后在wzdz表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下:数据类型:文本。字段大小:50有效性规则:无。必填字段:否允许空字符串:否索引:无“编号”这个字段使用的是Access的自动编号,并将其作为主键。也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按Access的提示添加主键,Access会自动为您搞定。具体操作您可以参考:vb神童教程(续)-vb连接Access数据库实例这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。

5、不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。为了方便起见,我们在Access中给wzdz表中预先添加两条初始记录:编号网站名称网站地址网站描述1编程入门网各种编程文档、电脑教程及软件应用技巧,您的电脑技术加油站!2健康生活网www.health163.org您的健康指南添加的方法很简单:在Access的设计器中直接双击wzdz表名,在出来的窗口中添加即可。添加时注意:因为我们使用的是Access的自动编号做主键,所以在添加时不用理“编号”这个字段,直接添加后三个字段即可。下一步的工作,是设计系统的界面及设置各个对象的属性。vb神童教程(续)-设计

6、系统的界面及对象的属性本系统是一个很简单的数据库操作实例,能够对数据库的添加、修改及删除记录这几个基本的操作。系统使用数据显示控件MSHFlexGrid显示数据库中的记录,使用数据链接控件Adodc链接数据库作为MSHFlexGrid的数据源,使用文本框来接收系统运行时用户输入的数据。步骤如下:一、启动vb6,新建一个标准exe工程,并将工程中的form1的caption属性设置为“编程入门网网址管理系统”,width属性值设为7950,height属性值设为4620。二、向窗体中添加一个Adodc控件。如果在工具箱中找不到Adodc控件,可以右击工具箱,选择“部件.”菜单项,然后在“部件”窗

7、口的“控件”选项卡中选中“Microsoft ADO Data Control6.0(OLEDB)”。在VB的属性窗口我们对Adodc控件的三个个属性值进行编辑,其余属性值使用默认的即可: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表中的所

8、有记录。3、Visible属性值设为False,作用是使其在运行时不可见。三、向窗体添加一个MSHFlexGrid控件,如果工具箱中没有MSHFlexGrid控件,可以右击工具箱,选择“部件.”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft Hierarchical FlexGrid Control 6.0 ”。然后在vb的属性窗口中将MSHFlexGrid控件的名称修改为MS1,如下图:然后对MSHFlexGrid控件进行如下设置:1、DataSource属性:在vb的属性窗口中将其值设为Adodc1,即使用Adodc控件作为其数据源。2、BackColorBkg属性:

9、在vb的属性窗口中将其值设为&H00FFE0E0&,这是设置的MSHFlexGrid控件的底色。3、BackColorFixed属性:在vb的属性窗口中将其值设为&H00C0FFFF&,这是设置的MSHFlexGrid控件的显示标题的底色。4、width属性:在vb的属性窗口中将其值设为7695.5、Height属性:在vb的属性窗口中将其值设为2175.6、右击MSHFlexGrid控件,在弹出的菜单中选“属性”,在弹出的“属性页”对话框的在“通用”选项卡中修改行为4,修改列为4,修改固定行为0,修改固定列为0。如果数据链接正常,在“属性页”对话框的“带区”选项卡中可以看到列标题和列名称已经

10、设置了,这里注意应该将“带区”选项卡中的“列标头”选项勾选上,否则运行时无法显示列标题,如下图。“属性页”对话框的其它部分使用默认值即可。四、向窗体中添加4个Label控件(标签),在vb的属性窗口为它们设置以下属性:1、caption属性:分别设置为网站名称、网站地址、网站描述及编号。2、Alignment属性:均设为“2-Center”。3、AutoSize属性:均设为True。五、向窗体中添加4个TextBox控件(文本框),并调整它们的位置成一排与4个标签相对应,即:网站名称Text1,网站地址Text2,网站描述Text3,编号Text4。六、向窗体中添加4个CommandButto

11、n控件(命令按钮),将它们的caption属性分别设置为“添加记录”、“修改记录”、“删除记录”和“退出系统”,并调整它们的位置成一排,放在文本框的下方。七、在两排文本框和命令按钮中间,添加一个Line控件,适当拖动其两端的控制点将长短调整至适当,并将其BorderColor属性性设为&H00C00000&,作用是把文本框和命令按钮隔开,这样在视觉上似乎能好看些。八、所有控件设置完毕后,界面如下图所示:下一步的工作,是为对象添加事件代码。vb神童教程(续)-为对象添加事件代码一、form1的load事件代码:Private Sub Form_Load() Form1.MS1.ColWidth(

12、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控件的列宽,并将文本框置空。二、“添加记录”按钮(command1)的click事件代码:Private Sub Command1_Click()Dim sc As IntegerIf Text1

13、.Text = Or Text2.Text = Or Text3.Text = Then 即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据 由于系统数据库设计为“编号”字段采用的是Access的自动编号 因此在添加记录时不接收编号的数据,由Access自动加编号 MsgBox (请输入完整的网站信息)Else sc = MsgBox(确实要添加这条记录吗?, vbOKCancel, 提示信息) If sc = 1 Then 运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs A

14、s 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 & Str2 & Str3 strSQL = select * from wzdz rs.Open strSQL, conn, 3, 3 rs.AddNew rs!网站名称 = Te

15、xt1.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 IfEnd Sub三、“修改记录”按钮(command2)的click事件代码:Private Sub Command2_Click()If Not

16、 IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then编号字段是Access的自动编号,为自然数因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox 记录号是大于0的自然数,请输入正确的编号! Exit SubEnd IfIf Text1.Text = Or Text2.Text = Or Text3.Text = Then对三个文本框的内容进行校验,不接收空值 MsgBox 请输入完整的网站信息! Exit SubEnd IfDim sc As Integersc = MsgBox(确实修改这条记录吗?, vbOKCa

17、ncel, 提示信息)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.

18、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!网站名称 = Text1.Text rs!网站地址 = Text2.Text rs!

19、网站描述 = 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 IfEnd If以下四条语句的作用是在操作完成后将文本框置空Text1.Text = Text2.Text = Text3.Text = Text4.Text = En

20、d 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 SubEnd IfDim sc As Integersc = MsgBox(确实要删除这个记录吗?, vbOKCancel, 删除确认!)If sc = 1 Then运行时如果用户点击

21、的是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 & Str2 & Str3 strSQL = se

22、lect * 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 (删除记录成功!) Adodc1.Refresh 刷新数据源,MSHFlexGrid控件会实时刷新显示数

23、据 Else MsgBox (不存在此记录!) Text4.Text = rs.Close conn.Close Exit Sub End IfEnd If以下四条语句的作用是在操作完成后将文本框置空Text1.Text = Text2.Text = Text3.Text = Text4.Text = End Sub五、“退出系统”按钮(command4)的click事件代码:Private Sub Command4_Click()Dim sc As Integersc = MsgBox(确实要退出系统吗?, vbOKCancel, 提示信息)If sc = 1 Then运行时如果用户点击的是

24、MsgBox提示框的“确定”按钮,返回值是1 EndEnd IfEnd Sub六、添加完事件代码之后,我们这个实例至此完成,运行一下吧!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 SubPrivate Su

25、b Command1_Click()Dim sc As IntegerIf Text1.Text = Or Text2.Text = Or Text3.Text = Then 即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据 由于系统数据库设计为“编号”字段采用的是Access的自动编号 因此在添加记录时不接收编号的数据,由Access自动加编号 MsgBox (请输入完整的网站信息)Else sc = MsgBox(确实要添加这条记录吗?, vbOKCancel, 提示信息) If sc = 1 Then 运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是

26、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=D:VBporjaccessdbcaiwu.mdb; Str3 = Jet OLEDB:Database Password= conn.Open Str1 & Str2 & Str3 strSQL = select * from Acc

27、ess_db 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 IfEnd SubPrivat

28、e Sub Command2_Click()If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then编号字段是Access的自动编号,为自然数因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox 记录号是大于0的自然数,请输入正确的编号! Exit SubEnd IfIf Text1.Text = Or Text2.Text = Or Text3.Text = Then对三个文本框的内容进行校验,不接收空值 MsgBox 请输入完整的网站信息! Exit SubEnd IfDim sc As Integersc

29、 = 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=D:VBporjaccessdbcaiwu.mdb; Str3

30、= Jet OLEDB:Database Password= conn.Open Str1 & Str2 & Str3 strSQL = select * from Access_db where 编号= & Val(Text4.Text) & rs.Open strSQL, conn, 3, 3 If rs!编号 = Val(Text4.Text) Then 由于系统数据库使用的是自动编号作为主键 因此以编号字段的内容作为判断的依据 如果rs!编号 = Val(Text4.Text)说明数据库中有此记录, 才会修改其它三个字段的内容 否则给出“不存在此记录”的提示信息并关闭数据连接 rs!网

31、站名称 = 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 IfEnd If以下四条语句的作用是在操作完成后将文本框置空Text1.Text =

32、Text2.Text = Text3.Text = Text4.Text = End SubPrivate Sub Command3_Click()If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then编号字段是Access的自动编号,为自然数因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox 编号是大于0的自然数,请输入正确的编号! Exit SubEnd IfDim sc As Integersc = MsgBox(确实要删除这个记录吗?, vbOKCancel, 删除确认!)If sc = 1 The

33、n运行时如果用户点击的是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=D:VBporjaccessdbcaiwu.mdb; Str3 = Jet OLEDB:Database Password= conn.Open Str1 & Str2

34、& Str3 strSQL = select * from Access_db 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 (删除记录成功!) Adodc1.Refresh 刷新数据

35、源,MSHFlexGrid控件会实时刷新显示数据 Else MsgBox (不存在此记录!) Text4.Text = rs.Close conn.Close Exit Sub End IfEnd If以下四条语句的作用是在操作完成后将文本框置空Text1.Text = Text2.Text = Text3.Text = Text4.Text = End SubPrivate Sub Command4_Click()Dim sc As Integersc = MsgBox(确实要退出系统吗?, vbOKCancel, 提示信息)If sc = 1 Then运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 End End IfEnd Sub

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com