4.1使用VB访问数据库.ppt_第1页
4.1使用VB访问数据库.ppt_第2页
4.1使用VB访问数据库.ppt_第3页
4.1使用VB访问数据库.ppt_第4页
4.1使用VB访问数据库.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、41 使用VB访问数据库,1. 使用ADO访问Access数据库 (1)ADO的概念 ADO(Activex Data Ojbects)是微软公司提供的种新的数据库的存取技术,是应用程序访问数据库的编程接口。通过ADO来可引用包括SQL Server、Oracle、ACCESS 等数据库、甚至EXCEL表格、文本文件、图形文件和无格式的数据文件在内的任何一种OLE DB数据源。该接口主要包含了三个对象成员(可编程对象集合):Connection对象、Command对象和Recordset对象。各对象成员中,还包含了几个集合对象:Errors、Parameters、Fields、Properti

2、es。,第四章算法在数据管理中的应用,Connection对象(连接对象) Connection对象用于建立与数据库的连接,通过连接可从应用程序访问数据源。它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。 Command对象(命令对象) 在建立Connection后,可以发出命令操作数据源。一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。,Recordset对象(记录集对象) 用来存储数据操作返回的记录集。Recordset对象只代表一个记录集,这个

3、记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行、移动行、添加、更改、删除记录。,(2)ADO对象基本操作流程 初始化COM库,引入ADO库定义文件; 用Connection对象连接数据库; 利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理; 使用完毕后关闭连接释放对象。,(3)引入ADO库定义文件 在Visual Basic程序中使用A

4、DO对象,必须先为当前工程引用ADO的对象库。方法:执行“工程”菜单中 “引用”命令,弹出“引用”对话框,如图所示。在勾选如图所示的选项后,点击“确定”按钮即可完成引用。,注意:不同环境下ADO的版本号可能不同。,2Connection对象 Connection对象用于建立与数据库的连接。 (1)Connection对象的常用属性 ConnectionString属性 在用Connection建立与数据库的连接时,需要设置ConnectionString属性的值(即连接字符串),以指定连接数据库所用的驱动程序、数据源名称、用户名和密码等。 Mode属性,指定Connection对象修改数据的权

5、限。 State属性,返回Connection对象的状态。,(2)Connection对象的常用方法 Open方法,打开到数据源的连接。语法如下: Connection对象Open ConnectionString, UserID, PassWord, Options 以下参数均为可选项: ConnectionString:包含连接信息的字符串。 UserID:包含建立连接时所使用的用户名称。 Password:字符串,包含建立连接时所用密码。 Options:设置为adConnectAsync,则异步打开连接;如果设置为ConnectComplete,当连接可用时将调用该事件。 Close方

6、法,关闭到数据源的连接。 Execute方法,在连接上执行命令。 Cancel方法,取消Open或 Execute方法的调用。,【例】使用Connection对象连接到数据库Scenic.accdb。 Private Sub Form_Load() Dim conn As New ADODB.Connection创建Connection对象conn conn.ConnectionString “ProviderMicrosoft.ACE.OLEDB.12.0; Data Source ” App.Path “ Sdudent.accdb”连接数据库路径 conn.Open打开到数据库连接 If

7、 conn.State adStateOpen Then MsgBox “连接已打开” 判断连接状态 conn.Close 关闭数据库连接 If conn.State adstatecolsed Then MsgBox “连接已关闭” End Sub 其中, “ Provider ”用于指定连接的提供者(Microsoft. ACE. OLEDB. 12. 0可以访问 Access 2010数据库), “ DATA Source”用于指定数据库的文件名(含绝对路径)。App.Path返回当前应用程序所在的绝对路径。,3Command对象 Command对象,定义将对数据源执行的命令。命令对象在

8、操纵数据库前需要与一个已经打开的连接对象(Connection)建立关联。 (1)常用属性 ActiveConnection属性,设置到数据源的连接信息。通过设置该属性使打开的连接与Command对象关联。 CommandText属性,定义命令的可执行文本,包含要执行的SQL语句、表名、存储过程等内容。 (2)常用方法 Execute方法,执行CommandText属性指定的查询、SQL语句或存储过程。 Cancel方法,取消Execute方法的调用。,4Recordset对象 Recordset对象表示从数据库返回的一系列记录的集合。一个 Recordset 对象由记录和列(字段)组成。通过

9、Recordset可以对记录及组成记录的列进行各种操作。 (1)Recordset对象的常用属性 ActiveConnection属性,设置或返回Recordset对象所属的Connection对象。 AbsolutePosition 属性,指定 Recordset 对象中当前记录的序号位置。 BOF属性,若当前的记录位置在第一条记录之前,则返回True,否则返回Fasle。 EOF属性, 若当前记录的位置在最后的记录之后,则返回True,否则返回Fasle。,RecordCount属性,返回Recordset对象中记录的当前数目。 CursorType属性,设置或返回一个 Recordset

10、 对象的游标类型。 LockType属性,指定打开Recordset对象使用的锁定类型。 Sort属性,设置排序字段。 Filter属性,设置Recordset对象中的筛选条件。,(2)Recordset对象常用方法 AddNew方法,创建和初始化新记录,其语法为: Recordset对象AddNewFieldList, Values AddNew方法为记录集添加新记录后,需使用UpDate将所添加的数据存储到数据库中。 Delete方法,删除当前记录或记录组。 Move方法,移动Recordset对象中当前记录的位置。 MoveFirst、MoveLast、MoveNext和MovePrev

11、ious方法,移动到指定Recordset对象中的第一条、最后一条、下一条或上一条记录,使该记录成为当前记录。 Requery方法,重新执行对象所基于的查询,更新Recordset对象中的数据。,Update方法,保存对Recordset对象当前记录所做修改。CancelUpdate方法,可取消对当前记录修改。 Open方法,打开代表基本表、查询的结果或保存的 Recordset 中记录的游标。其语法如下: Recordset对象OpenSource, ActiveConnection, CursorType, LockType, Options 以下均为可选项: Source为记录源,可以是

12、SQL语句、表名等。 ActiveConnection指定相应的Connection对象。 CursorType指定打开Recordset对象使用的指针类型。,【例】Recordset对象应用示例 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset 创建Recordset对象 Dim strSQL As String conn.ConnectionString “Provider Microsoft.ACE.OLEDB.12.0;Data Source” & App.Path & “users1.accdb” strSQ

13、L “SELECT * FROM users” 打开数据表(记录集)语句 conn.Open Set rs.ActiveConnection conn 将Recordset对象与实例Conn建立关联 rs.LockType adLockOptimistic 打开Recordset对象锁定类型为乐观锁 rs.CursorType adOpenStatic 设置Recordset对象游标为静态类型 rs.Open strSQL 打开数据表以获取表中数据 rs.AddNew 数据表新建记录初始化 rs.Fields(1) Text1 将文本框中的内容添加到记录字段1中 rs.Fields(2) Te

14、xt2 将文本框中的内容添加到记录字段2中 rs.Update 更新数据表 conn.Close 关闭数据库连接 Set connNothing 说明:打开Recordset对象时,若Recordset非空,当前记录位于第一条记录。 Close方法,关闭记录集。,本节课学习要求初步了解ADO的概念,了解使用ADO访问Access数据库的步骤。识记ADO对象成员Connection、Command和Recordset。识记Connection的用法,了解Recordset对象获取表中的数据的方法。考查方式为选择题与填空题。,1下列有关ADO的说法不正确的是 () AADO是ActiveX数据对象

15、的简称 BADO中的Recordset对象是一系列数据的集合 C利用ADO打开数据表后,记录指针定位在EOF上 DADO技术不是唯一访问数据库的技术,C,2 下列有关Recordset对象常用方法说法错误的是() ADelete方法用来删除当前记录 BMoveNext方法用来将指针下移一条记录 CAddNew方法用来创建和初始化新记录 DUpdate方法用来关闭数据库,D,3使用ADO时,可以通过Connection对象的哪个属性建立到数据库连接() AMode BConnectionString CState DConn,B,4在Recordset对象中查找记录,如果找不到相匹配的记录,则记

16、录指针定位在() A首记录前BOF B未记录后EOF C第一条记录 D随机位置,B,5在VB程序中通过ADO对象访问数据库,首先通过Connection对象建立与数据库之间的连接,执行SQJ查询语句后,查询结果将存储在()对象中。 ACommand BRecordset CConnection DErrors,B,6在Fields对象中更新当前数据表记录后,若要将数据进行保存,应使用()方法。 AOpen BClose CMoveNext DUpdate,D,7在Recordset对象常用的方法中,移动记录到数据表末尾的方法是 () AMoveFirst BMovePrevious CMove

17、Next DMoveLast,D,有下列VB程序段: Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String conn.ConnectionString “Provider Microsoft.ACE.OLEDB.12.0;Data Source ” & App.Path & “ student.accdb” strSQL “ SELECT * FROM users” conn.Open Set rs.ActiveConnection conn rs.Open strSQL Text

18、1.textrs.Fields(“ Height ”) 请阅读代码,问答下列问题。 (1)程序中定义的Connection对象实例名称为_,该对象实例连接的数据库为_。 (2)文本框Text中显示的是_数据表中第_条记录的信息。,conn,student.accdb,users,1,9以下程序的功能是模拟一个软件的注册过程。运行界面如下图所示:,程序运行时,在文本框Text1中输入帐号,在文本框Text2中输入密码,在文本框Text3中输入确定密码。点击“注册”按钮Command1,添加用户注册信息到数据库中。 程序代码如下:,Dim conn As New ADODB.Connection Dim cmd As New ADODB.Command Dim rs As New ADODB.Recordset Dim strSQL As String conn.ConnectionString “Provider Microsoft.ACE.OLEDB.12.0;Data Source” & App.Path & “users1.accdb” strSQL “SELECT * FROM users WHERE username ” & Text1 & “” cmd.CommandText strSQL conn.Open Set

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论