vb数据库操作实例培训资料.docx

上传人:b****0 文档编号:9132419 上传时间:2023-05-17 格式:DOCX 页数:23 大小:95.68KB
下载 相关 举报
vb数据库操作实例培训资料.docx_第1页
第1页 / 共23页
vb数据库操作实例培训资料.docx_第2页
第2页 / 共23页
vb数据库操作实例培训资料.docx_第3页
第3页 / 共23页
vb数据库操作实例培训资料.docx_第4页
第4页 / 共23页
vb数据库操作实例培训资料.docx_第5页
第5页 / 共23页
vb数据库操作实例培训资料.docx_第6页
第6页 / 共23页
vb数据库操作实例培训资料.docx_第7页
第7页 / 共23页
vb数据库操作实例培训资料.docx_第8页
第8页 / 共23页
vb数据库操作实例培训资料.docx_第9页
第9页 / 共23页
vb数据库操作实例培训资料.docx_第10页
第10页 / 共23页
vb数据库操作实例培训资料.docx_第11页
第11页 / 共23页
vb数据库操作实例培训资料.docx_第12页
第12页 / 共23页
vb数据库操作实例培训资料.docx_第13页
第13页 / 共23页
vb数据库操作实例培训资料.docx_第14页
第14页 / 共23页
vb数据库操作实例培训资料.docx_第15页
第15页 / 共23页
vb数据库操作实例培训资料.docx_第16页
第16页 / 共23页
vb数据库操作实例培训资料.docx_第17页
第17页 / 共23页
vb数据库操作实例培训资料.docx_第18页
第18页 / 共23页
vb数据库操作实例培训资料.docx_第19页
第19页 / 共23页
vb数据库操作实例培训资料.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

vb数据库操作实例培训资料.docx

《vb数据库操作实例培训资料.docx》由会员分享,可在线阅读,更多相关《vb数据库操作实例培训资料.docx(23页珍藏版)》请在冰点文库上搜索。

vb数据库操作实例培训资料.docx

vb数据库操作实例培训资料

 

vb数据库操作实例

第一部分:

vb数据库操作实例

vb神童教程(续)--编写一个小型的信息管理系统

vb神童教程(续)--准备数据库

vb神童教程(续)--设计系统的界面及对象的属性

vb神童教程(续)--为对象添加事件代码

vb神童教程(续)--编写一个小型的信息管理系统

受委托为编程入门网做一个简单的vb操作数据库的实例,来演示一下如何用vb向数据库中添加、修改、删除记录这些操作。

我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。

不过没有办法,我们这一圈人里现在只有我机器上还有vb6,勉为其难,只有尝试一下了。

如果我写的这点幼稚的东西能为想要了解vb数据库操作的朋友提供哪怕是一丁点儿的参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。

我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。

该系统后台使用的是Access数据库,程序中使用ADO代码链接的形式连接Access。

该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。

并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。

所有代码均在Windows2003+VusualBasic6.0环境下调试通过。

系统运行时如下图:

vb神童教程(续)--准备数据库

我用的是Access2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。

如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,比如实体、一对一联系、一对多联系等等;此外,对sql语言也需要有所了解。

具体您可以参考:

数据库基础知识ABC。

首先,在“我的电脑”的e盘新建一个名为vb文件夹,先打开Access,新建一个名为Access_db的数据库(Access数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为E:

\vb\Access_db.mdb。

然后在Access_db.mdb中建立一个名为wzdz的表(wzdz是“网站地址”的首字母缩写),然后在wzdz表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下:

▲数据类型:

文本。

▲字段大小:

50

▲有效性规则:

无。

▲必填字段:

▲允许空字符串:

▲索引:

“编号”这个字段使用的是Access的自动编号,并将其作为主键。

也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按Access的提示添加主键,Access会自动为您搞定。

具体操作您可以参考:

vb神童教程(续)--vb连接Access数据库实例

这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。

不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。

为了方便起见,我们在Access中给wzdz表中预先添加两条初始记录:

编号

网站名称

网站地址

网站描述

1

编程入门网

各种编程文档、电脑教程及软件应用技巧,您的电脑技术加油站!

2

健康生活网

www.health163.org

您的健康指南

添加的方法很简单:

在Access的设计器中直接双击wzdz表名,在出来的窗口中添加即可。

添加时注意:

因为我们使用的是Access的自动编号做主键,所以在添加时不用理“编号”这个字段,直接添加后三个字段即可。

下一步的工作,是设计系统的界面及设置各个对象的属性。

vb神童教程(续)--设计系统的界面及对象的属性

本系统是一个很简单的数据库操作实例,能够对数据库的添加、修改及删除记录这几个基本的操作。

系统使用数据显示控件MSHFlexGrid显示数据库中的记录,使用数据链接控件Adodc链接数据库作为MSHFlexGrid的数据源,使用文本框来接收系统运行时用户输入的数据。

步骤如下:

一、启动vb6,新建一个标准exe工程,并将工程中的form1的caption属性设置为“编程入门网网址管理系统”,width属性值设为7950,height属性值设为4620。

二、向窗体中添加一个Adodc控件。

如果在工具箱中找不到Adodc控件,可以右击工具箱,选择“部件...”菜单项,然后在“部件”窗口的“控件”选项卡中选中“MicrosoftADODataControl6.0(OLEDB)”。

在VB的属性窗口我们对Adodc控件的三个个属性值进行编辑,其余属性值使用默认的即可:

1、ConnectionString属性值设为:

Provider=Microsoft.Jet.OLEDB.4.0;DataSource=E:

\vb\Access_db.mdb;PersistSecurityInfo=False

这个属性设置了连接Access_db.mdb这个数据库。

2、RecordSourc属性值设为:

select*fromwzdz

这个属性值中的sql语句的作用是查询出wzdz表中的所有记录。

3、Visible属性值设为False,作用是使其在运行时不可见。

三、向窗体添加一个MSHFlexGrid控件,如果工具箱中没有MSHFlexGrid控件,可以右击工具箱,选择“部件...”菜单项,然后在“部件”窗口的“控件”选项卡中选中“MicrosoftHierarchicalFlexGridControl6.0”。

然后在vb的属性窗口中将MSHFlexGrid控件的名称修改为MS1,如下图:

然后对MSHFlexGrid控件进行如下设置:

1、DataSource属性:

在vb的属性窗口中将其值设为Adodc1,即使用Adodc控件作为其数据源。

2、BackColorBkg属性:

在vb的属性窗口中将其值设为&H00FFE0E0&,这是设置的MSHFlexGrid控件的底色。

3、BackColorFixed属性:

在vb的属性窗口中将其值设为&H00C0FFFF&,这是设置的MSHFlexGrid控件的显示标题的底色。

4、width属性:

在vb的属性窗口中将其值设为7695.

5、Height属性:

在vb的属性窗口中将其值设为2175.

6、右击MSHFlexGrid控件,在弹出的菜单中选“属性”,在弹出的“属性页”对话框的在“通用”选项卡中修改行为4,修改列为4,修改固定行为0,修改固定列为0。

如果数据链接正常,在“属性页”对话框的“带区”选项卡中可以看到列标题和列名称已经设置了,这里注意应该将“带区”选项卡中的“列标头”选项勾选上,否则运行时无法显示列标题,如下图。

“属性页”对话框的其它部分使用默认值即可。

四、向窗体中添加4个Label控件(标签),在vb的属性窗口为它们设置以下属性:

1、caption属性:

分别设置为网站名称、网站地址、网站描述及编号。

2、Alignment属性:

均设为“2-Center”。

3、AutoSize属性:

均设为True。

五、向窗体中添加4个TextBox控件(文本框),并调整它们的位置成一排与4个标签相对应,即:

网站名称→Text1,网站地址→Text2,网站描述→Text3,编号→Text4。

六、向窗体中添加4个CommandButton控件(命令按钮),将它们的caption属性分别设置为“添加记录”、“修改记录”、“删除记录”和“退出系统”,并调整它们的位置成一排,放在文本框的下方。

七、在两排文本框和命令按钮中间,添加一个Line控件,适当拖动其两端的控制点将长短调整至适当,并将其BorderColor属性性设为&H00C00000&,作用是把文本框和命令按钮隔开,这样在视觉上似乎能好看些。

八、所有控件设置完毕后,界面如下图所示:

下一步的工作,是为对象添加事件代码。

vb神童教程(续)--为对象添加事件代码

一、form1的load事件代码:

PrivateSubForm_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=""

EndSub

主要是在系统初始化时设置MSHFlexGrid控件的列宽,并将文本框置空。

二、“添加记录”按钮(command1)的click事件代码:

PrivateSubCommand1_Click()

DimscAsInteger

IfText1.Text=""OrText2.Text=""OrText3.Text=""Then

'即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据

'由于系统数据库设计为“编号”字段采用的是Access的自动编号

'因此在添加记录时不接收编号的数据,由Access自动加编号

MsgBox("请输入完整的网站信息")

Else

sc=MsgBox("确实要添加这条记录吗?

",vbOKCancel,"提示信息")

Ifsc=1Then

'运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1

DimconnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimStr1AsString

DimStr2AsString

DimStr3AsString

Str1="Provider=Microsoft.Jet.OLEDB.4.0;"

Str2="DataSource=E:

\vb\Access_db.mdb;"

Str3="JetOLEDB:

DatabasePassword="

conn.OpenStr1&Str2&Str3

strSQL="select*fromwzdz"

rs.OpenstrSQL,conn,3,3

rs.AddNew

rs!

网站名称=Text1.Text

rs!

网站地址=Text2.Text

rs!

网站描述=Text3.Text

rs.Update

rs.Close

conn.Close

MsgBox("添加记录成功!

")

Adodc1.Refresh

'刷新数据源,MSHFlexGrid控件会实时刷新显示数据

EndIf

'以下四条语句的作用是在操作完成后将文本框置空

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

EndIf

EndSub

三、“修改记录”按钮(command2)的click事件代码:

PrivateSubCommand2_Click()

IfNotIsNumeric(Text4.Text)OrVal(Text4.Text)=0Then

'编号字段是Access的自动编号,为自然数

'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程

MsgBox"记录号是大于0的自然数,请输入正确的编号!

"

ExitSub

EndIf

IfText1.Text=""OrText2.Text=""OrText3.Text=""Then

'对三个文本框的内容进行校验,不接收空值

MsgBox"请输入完整的网站信息!

"

ExitSub

EndIf

DimscAsInteger

sc=MsgBox("确实修改这条记录吗?

",vbOKCancel,"提示信息")

Ifsc=1Then

'运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1

DimconnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimStr1AsString

DimStr2AsString

DimStr3AsString

Str1="Provider=Microsoft.Jet.OLEDB.4.0;"

Str2="DataSource=E:

\vb\Access_db.mdb;"

Str3="JetOLEDB:

DatabasePassword="

conn.OpenStr1&Str2&Str3

strSQL="select*fromwzdzwhere编号="&Val(Text4.Text)&""

rs.OpenstrSQL,conn,3,3

Ifrs!

编号=Val(Text4.Text)Then

'由于系统数据库使用的是自动编号作为主键

'因此以编号字段的内容作为判断的依据

'如果rs!

编号=Val(Text4.Text)说明数据库中有此记录,

'才会修改其它三个字段的内容

'否则给出“不存在此记录”的提示信息并关闭数据连接

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

ExitSub

EndIf

EndIf

'以下四条语句的作用是在操作完成后将文本框置空

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

EndSub

四、“删除记录”按钮(command3)的click事件代码:

PrivateSubCommand3_Click()

IfNotIsNumeric(Text4.Text)OrVal(Text4.Text)=0Then

'编号字段是Access的自动编号,为自然数

'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程

MsgBox"编号是大于0的自然数,请输入正确的编号!

"

ExitSub

EndIf

DimscAsInteger

sc=MsgBox("确实要删除这个记录吗?

",vbOKCancel,"删除确认!

")

Ifsc=1Then

'运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1

DimconnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimStr1AsString

DimStr2AsString

DimStr3AsString

Str1="Provider=Microsoft.Jet.OLEDB.4.0;"

Str2="DataSource=E:

\vb\Access_db.mdb;"

Str3="JetOLEDB:

DatabasePassword="

conn.OpenStr1&Str2&Str3

strSQL="select*fromwzdzwhere编号="&Val(Text4.Text)&""

rs.OpenstrSQL,conn,3,3

Ifrs!

编号=Val(Text4.Text)Then

'由于系统数据库使用的是自动编号作为主键

'因此以编号字段的内容作为判断的依据

'如果rs!

编号=Val(Text4.Text)说明数据库中有此记录并进行删除操作

'否则给“不存在此记录”的提示信息并关闭数据连接

rs.Delete

rs.Close

conn.Close

MsgBox("删除记录成功!

")

Adodc1.Refresh'刷新数据源,MSHFlexGrid控件会实时刷新显示数据

Else

MsgBox("不存在此记录!

")

Text4.Text=""

rs.Close

conn.Close

ExitSub

EndIf

EndIf

'以下四条语句的作用是在操作完成后将文本框置空

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

EndSub

五、“退出系统”按钮(command4)的click事件代码:

PrivateSubCommand4_Click()

DimscAsInteger

sc=MsgBox("确实要退出系统吗?

",vbOKCancel,"提示信息")

Ifsc=1Then

'运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1

End

EndIf

EndSub

六、添加完事件代码之后,我们这个实例至此完成,运行一下吧!

PrivateSubForm_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=""

EndSub

PrivateSubCommand1_Click()

DimscAsInteger

IfText1.Text=""OrText2.Text=""OrText3.Text=""Then

'即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据

'由于系统数据库设计为“编号”字段采用的是Access的自动编号

'因此在添加记录时不接收编号的数据,由Access自动加编号

MsgBox("请输入完整的网站信息")

Else

sc=MsgBox("确实要添加这条记录吗?

",vbOKCancel,"提示信息")

Ifsc=1Then

'运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1

DimconnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimStr1AsString

DimStr2AsString

DimStr3AsString

Str1="Provider=Microsoft.Jet.OLEDB.4.0;"

Str2="DataSource=D:

\VBporj\accessdb\caiwu.mdb;"

Str3="JetOLEDB:

DatabasePassword="

conn.OpenStr1&Str2&Str3

strSQL="select*fromAccess_db"

rs.OpenstrSQL,conn,3,3

rs.AddNew

rs("网站名称")=Text1.Text

rs("网站地址")=Text2.Text

rs("网站描述")=Text3.Text

rs.Update

rs.Close

conn.Close

MsgBox("添加记录成功!

")

Adodc1.Refresh

'刷新数据源,MSHFlexGrid控件会实时刷新显示数据

EndIf

'以下四条语句的作用是在操作完成后将文本框置空

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text4.Text=""

EndIf

EndSub

PrivateSubCommand2_Click()

IfNotIsNumeric(Text4.Text)OrVal(Text4.Text)=0Then

'编号字段是Access的自动编号,为自然数

'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程

MsgBox"记录号是大于0的自然数,请输入正确的编号!

"

ExitSub

EndIf

IfText1.Text=""OrText2.Text=""OrText3.Text=""Then

'对三个文本框的内容进行校验,不接收空值

MsgBox"请输入完整的网站信息!

"

ExitSub

EndIf

DimscAsInteger

sc=MsgBox("确实修改这条记录吗?

",vbOKCancel,"提示信息")

Ifsc=1Then

'运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1

DimconnAsNewADODB.Connection

DimrsAsNewADODB.Recordset

DimStr1AsString

DimStr2AsString

DimStr3AsString

Str1="Provider=Microsoft.Jet.OLEDB.4.0;"

Str2="DataSource=D:

\VBporj\accessdb\caiwu.mdb;"

Str3="JetOLEDB:

DatabasePassword="

conn.OpenStr1&Str2&Str3

strSQL="select*fromAccess_dbwhere编号="&Val(Text4.Text)&""

rs.OpenstrSQL,conn,3,3

Ifrs!

编号=Val(Text4.Text)Then

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2