




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
41使用VB访问数据库,1.使用ADO访问Access数据库(1)ADO的概念ADO(ActivexDataOjbects)是微软公司提供的种新的数据库的存取技术,是应用程序访问数据库的编程接口。通过ADO来可引用包括SQLServer、Oracle、ACCESS等数据库、甚至EXCEL表格、文本文件、图形文件和无格式的数据文件在内的任何一种OLEDB数据源。该接口主要包含了三个对象成员(可编程对象集合):Connection对象、Command对象和Recordset对象。各对象成员中,还包含了几个集合对象:Errors、Parameters、Fields、Properties。,第四章算法在数据管理中的应用,Connection对象(连接对象)Connection对象用于建立与数据库的连接,通过连接可从应用程序访问数据源。它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。Command对象(命令对象)在建立Connection后,可以发出命令操作数据源。一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。,Recordset对象(记录集对象)用来存储数据操作返回的记录集。Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行、移动行、添加、更改、删除记录。,(2)ADO对象基本操作流程初始化COM库,引入ADO库定义文件;用Connection对象连接数据库;利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;使用完毕后关闭连接释放对象。,(3)引入ADO库定义文件在VisualBasic程序中使用ADO对象,必须先为当前工程引用ADO的对象库。方法:执行“工程”菜单中“引用”命令,弹出“引用”对话框,如图所示。在勾选如图所示的选项后,点击“确定”按钮即可完成引用。,注意:不同环境下ADO的版本号可能不同。,2Connection对象Connection对象用于建立与数据库的连接。(1)Connection对象的常用属性ConnectionString属性在用Connection建立与数据库的连接时,需要设置ConnectionString属性的值(即连接字符串),以指定连接数据库所用的驱动程序、数据源名称、用户名和密码等。Mode属性,指定Connection对象修改数据的权限。State属性,返回Connection对象的状态。,(2)Connection对象的常用方法Open方法,打开到数据源的连接。语法如下:Connection对象OpenConnectionString,UserID,PassWord,Options以下参数均为可选项:ConnectionString:包含连接信息的字符串。UserID:包含建立连接时所使用的用户名称。Password:字符串,包含建立连接时所用密码。Options:设置为adConnectAsync,则异步打开连接;如果设置为ConnectComplete,当连接可用时将调用该事件。Close方法,关闭到数据源的连接。Execute方法,在连接上执行命令。Cancel方法,取消Open或Execute方法的调用。,【例】使用Connection对象连接到数据库Scenic.accdb。PrivateSubForm_Load()DimconnAsNewADODB.Connection创建Connection对象connconn.ConnectionString“ProviderMicrosoft.ACE.OLEDB.12.0;DataSource”App.Path“Sdudent.accdb”连接数据库路径conn.Open打开到数据库连接Ifconn.StateadStateOpenThenMsgBox“连接已打开”判断连接状态conn.Close关闭数据库连接Ifconn.StateadstatecolsedThenMsgBox“连接已关闭”EndSub其中,“Provider”用于指定连接的提供者(Microsoft.ACE.OLEDB.12.0可以访问Access2010数据库),“DATASource”用于指定数据库的文件名(含绝对路径)。App.Path返回当前应用程序所在的绝对路径。,3Command对象Command对象,定义将对数据源执行的命令。命令对象在操纵数据库前需要与一个已经打开的连接对象(Connection)建立关联。(1)常用属性ActiveConnection属性,设置到数据源的连接信息。通过设置该属性使打开的连接与Command对象关联。CommandText属性,定义命令的可执行文本,包含要执行的SQL语句、表名、存储过程等内容。(2)常用方法Execute方法,执行CommandText属性指定的查询、SQL语句或存储过程。Cancel方法,取消Execute方法的调用。,4Recordset对象Recordset对象表示从数据库返回的一系列记录的集合。一个Recordset对象由记录和列(字段)组成。通过Recordset可以对记录及组成记录的列进行各种操作。(1)Recordset对象的常用属性ActiveConnection属性,设置或返回Recordset对象所属的Connection对象。AbsolutePosition属性,指定Recordset对象中当前记录的序号位置。BOF属性,若当前的记录位置在第一条记录之前,则返回True,否则返回Fasle。EOF属性,若当前记录的位置在最后的记录之后,则返回True,否则返回Fasle。,RecordCount属性,返回Recordset对象中记录的当前数目。CursorType属性,设置或返回一个Recordset对象的游标类型。LockType属性,指定打开Recordset对象使用的锁定类型。Sort属性,设置排序字段。Filter属性,设置Recordset对象中的筛选条件。,(2)Recordset对象常用方法AddNew方法,创建和初始化新记录,其语法为:Recordset对象AddNewFieldList,ValuesAddNew方法为记录集添加新记录后,需使用UpDate将所添加的数据存储到数据库中。Delete方法,删除当前记录或记录组。Move方法,移动Recordset对象中当前记录的位置。MoveFirst、MoveLast、MoveNext和MovePrevious方法,移动到指定Recordset对象中的第一条、最后一条、下一条或上一条记录,使该记录成为当前记录。Requery方法,重新执行对象所基于的查询,更新Recordset对象中的数据。,Update方法,保存对Recordset对象当前记录所做修改。CancelUpdate方法,可取消对当前记录修改。Open方法,打开代表基本表、查询的结果或保存的Recordset中记录的游标。其语法如下:Recordset对象OpenSource,ActiveConnection,CursorType,LockType,Options以下均为可选项:Source为记录源,可以是SQL语句、表名等。ActiveConnection指定相应的Connection对象。CursorType指定打开Recordset对象使用的指针类型。,【例】Recordset对象应用示例DimconnAsNewADODB.ConnectionDimrsAsNewADODB.Recordset创建Recordset对象DimstrSQLAsStringconn.ConnectionString“ProviderMicrosoft.ACE.OLEDB.12.0;DataSource”&App.Path&“users1.accdb”strSQL“SELECT*FROMusers”打开数据表(记录集)语句conn.OpenSetrs.ActiveConnectionconn将Recordset对象与实例Conn建立关联rs.LockTypeadLockOptimistic打开Recordset对象锁定类型为乐观锁rs.CursorTypeadOpenStatic设置Recordset对象游标为静态类型rs.OpenstrSQL打开数据表以获取表中数据rs.AddNew数据表新建记录初始化rs.Fields(1)Text1将文本框中的内容添加到记录字段1中rs.Fields(2)Text2将文本框中的内容添加到记录字段2中rs.Update更新数据表conn.Close关闭数据库连接SetconnNothing说明:打开Recordset对象时,若Recordset非空,当前记录位于第一条记录。Close方法,关闭记录集。,本节课学习要求初步了解ADO的概念,了解使用ADO访问Access数据库的步骤。识记ADO对象成员Connection、Command和Recordset。识记Connection的用法,了解Recordset对象获取表中的数据的方法。考查方式为选择题与填空题。,1下列有关ADO的说法不正确的是()AADO是ActiveX数据对象的简称BADO中的Recordset对象是一系列数据的集合C利用ADO打开数据表后,记录指针定位在EOF上DADO技术不是唯一访问数据库的技术,C,2下列有关Recordset对象常用方法说法错误的是()ADelete方法用来删除当前记录BMoveNext方法用来将指针下移一条记录CAddNew方法用来创建和初始化新记录DUpdate方法用来关闭数据库,D,3使用ADO时,可以通过Connection对象的哪个属性建立到数据库连接()AModeBConnectionStringCStateDConn,B,4在Recordset对象中查找记录,如果找不到相匹配的记录,则记录指针定位在()A首记录前BOFB未记录后EOFC第一条记录D随机位置,B,5在VB程序中通过ADO对象访问数据库,首先通过Connection对象建立与数据库之间的连接,执行SQJ查询语句后,查询结果将存储在()对象中。ACommandBRecordsetCConnectionDErrors,B,6在Fields对象中更新当前数据表记录后,若要将数据进行保存,应使用()方法。AOpenBCloseCMoveNextDUpdate,D,7在Recordset对象常用的方法中,移动记录到数据表末尾的方法是()AMoveFirstBMovePreviousCMoveNextDMoveLast,D,有下列VB程序段:DimconnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimstrSQLAsStringconn.ConnectionString“ProviderMicrosoft.ACE.OLEDB.12.0;DataSource”&App.Path&“student.accdb”strSQL“SELECT*FROMusers”conn.OpenSetrs.ActiveConnectionconnrs.OpenstrSQLText1.textrs.Fields(“Height”)请阅读代码,问答下列问题。(1)程序中定义的Connection对象实例名称为_,该对象实例连接的数据库为_。(2)文本框Text中显示的是_数据表中第_条记录的信息。,conn,student.accdb,users,1,9以下程序的功能是模拟一个软件的注册过程。运行界面如下图所示:,程序运行时,在文本框Text1中输入帐号,在文本框Text2中输入密码,在文本框Text3中输入确定密码。点击“注册”按钮Command1,添加用户注册信息到数据库中。程序代码如下:,DimconnAsNewADODB.ConnectionDimcmdAsNewADODB.CommandDimrsAsNewADODB.RecordsetDimstrSQLAsStringconn.ConnectionString“ProviderMicrosoft.ACE.OLEDB.12.0;DataSource”&App.Path&“users1.accdb”strSQL“SELECT*FROMusersWHEREusername”&Text1&“”cmd.CommandTextstrSQLconn.OpenSetcmd.ActiveConnectionconnSetrscmd.ExecuteIfText1“”ThenMsgBox“请输入用户名!”:Text1.SetFocus:ExitSubEndIf,Ifrs.EOFThenIfTrim(Text2.Text)Trim(Text3.Text)ThenstrSQL“INSERTINTOusers(username,userpsd)VALUES(“&Text1&”,“&MD5(Text2,32)&”)”cmd.CommandTextstrSQL:cmd.ExecuteMsgBox“账号注
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国体育产业IP开发与商业价值挖掘分析报告
- 美妆行业个性化定制服务模式在2025年的产品生命周期管理创新与市场细分研究报告
- 2025年细分医疗领域:医疗供应链管理优化策略研究报告
- 中兴通讯2022-2023ESG综合报告:企业公民行动
- 恒瑞医药行动报告-2022上半年员工安全与工作环境报告
- 2025年工业炉窑的新型燃烧装置项目申请报告模板
- 2025年锅炉及辅助设备项目规划申请报告
- 2025年成品革和再生革项目申请报告模范
- 2025年工业VOC治理系统项目提案报告模板
- 2025年酒店业员工培训管理模式创新可行性分析报告
- 《智能变电站工程应用技术》全套教学课件
- 课外班报班合同协议
- 2025-2030中国手机无线充电行业市场现状供需分析及投资评估规划分析研究报告
- 绞磨工考试试题及答案
- 局定密管理制度
- 丈夫过世遗产协议书
- 2025至2030年中国拉菲草行业投资前景及策略咨询报告
- 2025年北京市房屋租赁合同正式版
- 血液透析患者的心理护理
- 门禁系统施工方案
- 秘书岗位复习试题附答案(一)
评论
0/150
提交评论