版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章数据库访问技术第7章数据库访问技术27.1数据库基础知识7.2可视化数据管理器VISDATA7.3利用Data控件访问数据库7.4利用ADO技术访问数据库7.5SQL语言7.6应用案例与设计—简单职工数据管理器的设计7.1数据库基础知识7.1.1数据库基础知识7.1.2VisualBasic数据库访问技术的发展数据库基础所谓数据库,简单地说就是存储数据的仓库。数据不是简单杂乱地堆放到数据库中,它们是按着一定的规则和结构有组织地存放到数据库中。(1)视图(2)键(3)外来键(4)索引
VisualBasic数据库访问技术的发展1.
DataAccessObjects(DAO)DAO数据访问对象是VisualBasic最先采用的面向对象的数据库访问接口。2.RemoteDataObjects(RDO)远程数据对象(RDO)是位于ODBCAPI之上的一个对象模型,它绕过MicrosoftJet数据库引擎,而依赖于ODBCAPI、ODBC驱动程序以及后端数据库引擎实现大部分的功能。3.ActiveXDataObject(ADO)ActiveX数据对象(ADO)是从VisualBasic6.0开始最新支持的数据访问对象。7.2可视化数据管理器VISDATA7.2.1可视化数据管理器VISDATA7.2.2可视化数据管理器应用实例可视化数据管理器VISDATA生成多种类型的数据库建立数据库表对数据进行安全性管理创建数据窗体可视化数据管理器应用实例“职工档案”数据库由若干数据表组成,主要用来存储某单位职工的各种信息,“职工档案”数据库中有一个“职工信息”表,表结构如表7.2所示。可视化数据管理器应用实例(续)字段名称中文含义类型长度zgbh职工编号整型默认xm姓名文本8xb性别文本2csrq出生日期日期默认字段名称中文含义类型长度zc职称文本20gz工资单精度默认dhhm电话号码文本15jtzz家庭住址文本50表7.2“职工信息”表结构可视化数据管理器应用实例(续)1.创建数据库2.添加数据库表3.添加索引4.添加记录5.数据窗体设计器7.3利用Data控件访问数据库Data控件是VisualBasic的内部控件之一,它可以通过MicrosoftJet数据库引擎来访问Access、FoxPro和Paradox等数据库,还可以通过ODBCDirect来访问ODBC数据源。Data控件的常用属性(1)Connect属性(2)DatabaseName属性(3)RecordSource属性(4)RecordsetType属性(5)ReadOnly属性(6)BOFAction属性(7)EOFAction属性(8)Exclusive属性
Data控件的常用事件(1)Validate事件PrivateSubobject_Validate([IndexAsInteger,]ActionAsInteger,SaveAsInteger)其中,可选参数Index用来指定Data控件在控件数组中的索引值;Action参数用来说明触发Validate事件的操作Save参数用来说明与该Data控件绑定的控件内容是否发生了改变。Data控件的常用事件(续)例如,PrivateSubData1_Validate(actionAsInteger,saveAsInteger)IfText1.DataChangedAnd(Text1.Text<"a"OrText1.Text>"z")Then
MsgBox"inputerror"Text1.DataChanged=FalseEndIfEndSubData控件的常用事件(续)(2)Reposition事件PrivateSubData1_Reposition()Text1.Text=Data1.Recordset.AbsolutePosition+1EndSubData控件的常用方法与数据库访问有关的方法:(1)Refresh方法Refresh方法用来刷新与Data控件相连接的记录集。2)UPDATERecord方法UPDATERecord方法用来将绑定控件的当前内容写入到数据库中(3)UPDATEControls方法UPDATEControls方法用来将数据从数据库中重新读到绑定控件中(4)Close方法Close方法用来关闭数据库或记录集,并将数据对象设置为空Recordset对象在VisualBasic中,对数据库内的表是不允许直接访问的,而只能通过记录集(Recordset)对象进行记录的操作和浏览。Recordset对象(续)Recordset对象(续)1.Recordset对象的类型表(Table)类型动态集Dynaset类型快照Snapshot类型2.Recordset对象的常用属性AbsolutePosition属性RecordCount属性Nomatch属性BOF属性和EOF属性Bookmark属性Recordset对象(续)3.Recordset对象的常用方法Move方法MoveFirst方法MoveLast方法MoveNext方法MovePrevious方法Find方法FindFirst方法FindLast方法FindPrevious方法
FindNext方法Recordset对象(续)AddNew方法Edit方法DELETE方法UPDATE方法CancelUPDATE方法Close方法数据绑定的概念及数据绑定控件1.简单的数据绑定控件常见属性DataChanged属性DataSource属性DataField属性2.专用的数据绑定控件DBCombo控件和DBList控件DBGrid控件MsFlexGrid控件数据绑定的概念及数据绑定控件(续)【例7.1】利用Data控件访问在7.2节中建立的数据库“职工档案”,并显示“职工信息”表中所有字段信息。设计步骤如下:(1)建立新的标准EXE工程,并在窗体中添加1个Data控件、1个框架控件、8个Label控件及8个TextBox控件。各控件在窗体中位置如图7.15所示。数据绑定的概念及数据绑定控件(续)图7.15例7.1运行界面数据绑定的概念及数据绑定控件(续)(2)设置各控件属性如表7.5所示。控件名称属性属性值Form1Caption“Data控件举例”Data1RecordSource“职工信息”Data1Caption“职工信息”Data1DatabaseName“c:\职工档案.mdb”FrameCaption“职工信息”TextDataSource“Data1”Text1DataField“zgbh”Text2DataField“xm”Text3DataField“xb”Text4DataField“csrq”Text5DataField“zc”控件名称属性属性值Text6DataField“gz”Text7DataField“dhhm”Text8DataField“jtzz”Label1Caption“职工编号”Label2Caption“姓名”Label3Caption“性别”Label4Caption“出生日期”Label5Caption“职称”Label6Caption“工资”Label7Caption“电话号码”Label8Caption“家庭住址”数据绑定的概念及数据绑定控件(续)说明:Data控件有4个按钮,从左向右分别代表移动记录指针到第一条记录;到前一条记录;到后一条记录;到最后一条记录。通过这4个按钮,可以移动记录指针到不同位置,并在绑定控件中显示该记录的信息。运行程序,结果如图7.15所示。数据绑定的概念及数据绑定控件(续)【例7.2】修改例7.1,在例7.1的窗体上增加4个命令按钮,为其编程代替Data控件的记录移动功能。设计步骤如下:(1)修改例7.1窗体,增加4个Command控件。各控件在窗体中位置如图7.16所示。数据绑定的概念及数据绑定控件(续)图7.16例7.2运行界面数据绑定的概念及数据绑定控件(续)(2)修改Data控件属性,设置新增命令按钮属性,属性设置如表7.6所示。控件名称属性属性值Data1VisibleFalseCommand1Caption“第一条记录”Command2Caption“上一条”Command3Caption“下一条”Command4Caption“最后一条记录”数据绑定的概念及数据绑定控件(续)(3)编写代码。PrivateSubCommand1_Click()Data1.Recordset.MoveFirstEndSubPrivateSubCommand2_Click()Data1.Recordset.MovePreviousIfData1.Recordset.BOFThenData1.Recordset.MoveFirstEndSub数据绑定的概念及数据绑定控件(续)PrivateSubCommand3_Click()Data1.Recordset.MoveNextIfData1.Recordset.EOFThenData1.Recordset.MoveLastEndSubPrivateSubCommand4_Click()Data1.Recordset.MoveLastEndSub(4)运行程序,结果如图7.16所示。数据绑定的概念及数据绑定控件(续)【例7.3】在例7.2的基础上实现对数据库的数据编辑功能。设计步骤如下:(1)修改例7.2窗体,在窗体中增加5个Command控件,如图7.17所示的控件。数据绑定的概念及数据绑定控件(续)图7.17例7.3运行界面数据绑定的概念及数据绑定控件(续)(2)设置新增命令按钮属性,属性设置如表7.7所示。控件名称属性属性值Data1RecordsetType1或2Command5Caption“查询”Command6Caption“添加”Command7Caption“删除”Command9Caption“保存”Command8Caption“退出”数据绑定的概念及数据绑定控件(续)(3)编写代码PrivateSubForm_Load()Text1.Text=""'清空文本框内容Text2.Text=""Text3.Text=""Text4.Text=""Text5.Text=""Text6.Text=""Text7.Text=""Text8.Text=""EndSub数据绑定的概念及数据绑定控件(续)PrivateSubCommand5_Click()Dimstr1,str2AsStringstr1=Trim(InputBox("请输入姓名:","查找姓名"))'输入姓名
Ifstr1<>""Then
str2="xm='"&str1&"'"Data1.Recordset.FindFirststr2'在数据库中查找对应记录
IfData1.Recordset.NoMatchThenMsgBox"查无此人!"'没有找到则弹出提示框
Data1.Recordset.MoveFirst'找到则使记录指针定位到第一个满足条件的记录上
EndIfEndIfEndSub数据绑定的概念及数据绑定控件(续)PrivateSubCommand6_Click()Dimstr1AsStringstr1=MsgBox("输入新纪录",vbOKCancel,"添加新记录")Ifstr1=vbOKThenData1.Recordset.AddNew '增加一条新记录
EndIfEndSub数据绑定的概念及数据绑定控件(续)PrivateSubCommand9_Click()Dimstr1AsStringstr1=MsgBox("是否真的保存?",vbOKCancel,"保存提示")'提示是否保存记录
Ifstr1=vbOKThenData1.UpdateRecord'保存记录
EndIfEndSub数据绑定的概念及数据绑定控件(续)PrivateSubCommand8_Click()Dimstr1AsStringstr1=MsgBox("y/n",vbOKCancel,"delete") '提示是否删除记录
Ifstr1=vbOKThenData1.Recordset.DELETE '删除记录
Data1.Recordset.MoveFirstEndIfEndSub数据绑定的概念及数据绑定控件(续)PrivateSubCommand7_Click()EndEndSub(5)运行程序。程序执行后结果如图7.17所示。数据绑定的概念及数据绑定控件(续)【例7.4】修改例7.1,增加使用DBList控件显示职工姓名,选择某姓名,则显示该职工全部信息功能。7.4利用ADO技术访问数据库在VisualBasic6.0中,ADO对象模型是主要的数据访问接口。ADO对象模型规定了一组可编程的分层对象集合,在VisualBasic应用程序中,通过创建这组对象集合来连接数据库,实现对数据库的各种操作。使用ADODC控件访问数据库1.ADODC控件的常用属性与设置方法ConnectionString属性UserName属性和Password属性CommandType属性和RecordSource属性2.ADODC控件的常用事件WillMove和MoveComplete事件WillChangeField和FieldChangeComplete事件使用ADODC控件访问数据库(续)3.ADODC控件的常用方法ADODC控件的常用方法与Data控件十分相似4.ADO数据绑定控件使用ADODC控件访问数据库(续)【例7.5】利用ADODC数据绑定控件重做例7.4,对功能做进一步修改,根据DataList中选定职工姓名控制光标在DataGrid中指定行移动。【例7.6】利用ADODC控件重做例7.3。利用ADO编程访问数据库1.ADO对象模型简介图7.32ADO对象模型利用ADO编程访问数据库(续)2.采用ADO对象编程方式访问数据库的步骤(1)使用Connection对象建立与数据库的连接(2)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理等(3)关闭连接并释放对象利用ADO编程访问数据库(续)【例7.7】利用ADO编程重做例7.6。设计步骤如下:(1)修改例7.6窗体,删除ADODC控件,将DataGrid控件的DataSource属性设置为空。(2)选择“工程”菜单中的“引用”选项,然后在列表中选择“MicrosoftActiveXDataObject2.0Library”,以实现对ADO2.0的访问。利用ADO编程访问数据库(续)(3)编写代码。PrivateconnAsADODB.Connection
'Connection对象PrivatersAsADODB.Recordset'Recordset对象PrivatecmdAsADODB.Command
'Command对象PrivateSubForm_Load()DimstrqueryAsStringSetconn=NewADODB.Connection
'创建Connection对象
Setcmd=NewADODB.Command
'创建Command对象利用ADO编程访问数据库(续)
Setrs=NewADODB.Recordset'创建Recordset对象
conn.Open"datasource=职工档案"'设置Connection对象连接数据库源
cmd.ActiveConnection=conn'设置Command对象的Connection对象
cmd.CommandText="select*from职工信息"'设置Command对象的sql语句
cmd.CommandType=adCmdText'设置Command对象类型
利用ADO编程访问数据库(续)cmd.CommandTimeout=15'设置Command对象执行时限
rs.LockType=adLockOptimistic'设置Recordset对象锁定类型rs.CursorType=adOpenKeyset'设置Recordset对象游标类型
rs.Open
cmd'设置Recordset对象打开Command对象
SetDataGrid1.DataSource=rs'设置DataGrid对象的数据源为Recordset对象EndSub利用ADO编程访问数据库(续)PrivateSubCommand1_Click()'添加记录
rs.AddNewEndSubPrivateSubCommand2_Click()'删除记录rs.DeleteEndSubPrivateSubCommand3_Click()'保存记录rs.UpdateEndSubPrivateSubCommand5_Click()'移动到第一条记录rs.MoveFirstEndSub利用ADO编程访问数据库(续)PrivateSubCommand6_Click()'移动到上一条记录rs.MovePreviousEndSubPrivateSubCommand7_Click()'移动到下一条记录rs.MoveNextEndSubPrivateSubCommand8_Click()'移动到最后一条记录rs.MoveLastEndSub利用ADO编程访问数据库(续)(5)运行应用程序,结果如图7.31所示。图7.317.5SQL语言结构化查询语言SQL(StructureQueryLanguage)是一种用来和关系数据库进行交互通信的数据库语言。SELECT语句SELECT语句的语法格式为:SELECT[ALL|DISTINCT]<查询结果表达式>[,<查询结果表达式>]|*……FROM<表名或视图名>[,<表名或视图名>]…
…[WHERE<条件表达式>][GROUPBY<列名>[HAVING<条件表达式>]][ORDERBY<列名>[ASC|DESC]];SELECT语句(续)例如,(1)查询职工表中职工编号、职工姓名、职工性别。SELECTzgbh,xm.xbFROM职工信息;(2)查询职工表中所有男性职工的职工编号、职工姓名、性别。SELECTzgbh,xm.xbFROM职工信息WHERExb='男';(3)查询职工表中所有男性且工资大于15
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 缝纫剪项目营销计划书
- 催眠镇静剂产品供应链分析
- 织铜网机细分市场深度研究报告
- 健胸器产品供应链分析
- 微波炉用米饭煲产品供应链分析
- 皮革制盒细分市场深度研究报告
- 电镀用电解装置项目运营指导方案
- 广告文本出版服务行业相关项目经营管理报告
- 皮衣市场发展前景分析及供需格局研究预测报告
- 牙科用烘箱项目营销计划书
- 急性心肌梗死病例
- 2022年西南交通大学辅导员招聘考试笔试试题及答案解析
- 2022年全国小学生天文知识竞赛考试题(含答案)
- 农村一二三产业融合发展课件
- 医学装备管理委员会工作总结
- 自媒体短视频编导绩效考核指标表
- 高速公路养护中心隧道消防应急演练方案
- 幼儿园小班园本课程食育主题活动案例分享教学设计:《我和面粉做朋友》游戏案例(教案)
- 第四章:《政治学概论》之政治民主
- 2021年中国铁路国际有限公司校园招聘笔试试题及答案解析
- 工程监理工作医用气体管道施工质量控制要点(最新可编辑Word版)
评论
0/150
提交评论