资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十四章 数据库编程接口,14.1开放式数据库连接(ODBC)ODBC(Open Database Connectivity)是由Microsoft 开发和定义的一种访问数据库的应用程序接口,是一组用于访问不同构造的数据库的驱动程序,在数据库应用程序中,不需要考虑各类数据库的系统的构造细节,只要使用ODBC提供的驱动程序,通过将SQL语句发送到目标数据库中,就可以存取各类数据库中的数据。,14.1开放式数据库连接(ODBC),1. ODBC组件ODBC使用的分层体系结构包括:ODBC应用程序、驱动程序管理器、ODBC驱动程序和数据源。其结构课本所示。 2.配置ODBC数据源在使用ODBC之前,必须安装一个ODBC驱动程序,然后再配置一个数据源。数据库驱动程序使用Data Source Name (DSN)来定位特定的ODBC兼容数据库,将信息从应用程序传递给数据库。典型情况下,DSN通常包含数据库配置、用户安全性和定位信息,并且可以获取Windows NT注册表项中或文本文件的表格。(1) ODBC数据源名数据源名是为所要访问数据库指定的名字。通常情况下,如果要连接到一个数据库上,则必须发送一组参数来获得该连接。在每次要连接一个数据库时,反复地发送这些信 息很麻烦,因为这些信息是永远不改变的。,14.1开放式数据库连接(ODBC),( 2) SQL Server数据库系统DSN的配置方法 下面通过一个实例,具体说明DSN的配置方法。 【例14-1】建立一个名称为studentDBS的数据源,通过该数据源名称引用student_ms数据库。 (1)在计算机中,通过“开始”“控制面板”“管理工具”“数据源( ODBC)”命令,打开ODBC数据源管理器。在该数据源管理器中选择“系统DSN”标签页,如图所示。,14.1开放式数据库连接(ODBC),(2)单击“添加”按钮,打开“创建新数据源”对话框,在“选择您想为其安装数据源的驱动程序”的列表框中,显示系统中全部ODBC驱动程序,选择“SQL Server“,如图所示。,14.1开放式数据库连接(ODBC),(3)单击“完成”按钮,系统自动弹出如下图所示的“创建到SQL Server的新数据源”设置界面,在数据源名称文本栏中输入内容:,14.1开放式数据库连接(ODBC),(4)单击“下一步”按钮, SQL Server将确定应该如何验证登录ID的真伪。选择“使用网络登录ID的Windows NT验证”这种验证方式。如图所示,可以根据需要选择不同的选项。,14.1开放式数据库连接(ODBC),(5)单击“下一步”按钮,SQL Server将确定默认的数据库等,如图所示。在该对话框中,可根据需要更改默认数据库的名称,这里输入“student _ms”,也可以添加“附加数据库文件名”等。,14.1开放式数据库连接(ODBC),(6)单击“下一步”按钮,出现对新数据源进行简单设置的对话框,如图所示。,14.1开放式数据库连接(ODBC),(7)单击“完成”按钮,系统将会显示新创建的ODBC数据源的配置情况的描述,如图所示。,14.1开放式数据库连接(ODBC),(8)单击“测试数据源”按钮,如果DSN创建成功,则“SQL Server ODBC 数据源测试”对话框将会显示测试成功的消息,如图所示。,14.1开放式数据库连接(ODBC),(9)单击“确定”按钮,完成配置SQL Serve:数据源的操作。返回到“系统DSN”标签页中,则会看到刚刚建立好的数据源。 注意:在配置ODBC数据源以前,请确定数据库已建立完成,如果是配置SQL Server数据源,还得确定SQL Server处于运行状态。,14. 2使用ADO操作数据库中的数据,14.2.1 ActiveX数据对象(ADO )ADO包括Command,Connection等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。ADO具体的七个对象为: Command:定义对数据源进行操作的命令; Connection:建立一个数据源的连接; Error:提供数据访问错误的细节; Field:表示一般数据类型的字段; Parameter:表示Command对象的参数; Property:表示由数据源定义ADO对象的动态特性; Recordset:数据库命令结果集对象。,14. 2使用ADO操作数据库中的数据,通过ADO访问数据库通常经过下列步骤。创建数据库源名,即创建和配置ODBC数据源。创建数据库链接如果要访问数据,必须首先创建与数据库的链接,其语法如下:Set Conn=Server CreateObject (“ADOBD. CONNECTION“)这条语句创建了链接对象Conn,然后打开该连接,其语法格式为:Conn. Open “dsn_name,“username“,“password“其中该连接的DSN名为“dsn_ name“,”username”、“password”分别表示访问数据库的用户名和口令,为可选参数。 在这里我们主要介绍Connection对象、Command对象和Recordset对象。,14. 2使用ADO操作数据库中的数据,14.2.2 Connection对象Connection 对象表示数据源的唯一会话。在使用客户端/服务器数据库系统的情况下,该对象可以等价于到服务器的实际网络连接。Connection 对象的某些集合、方法或属性可能无效,这取决于提供者支持的功能。使用Connection对象的集合、方法和属性可以执行下列操作:(1)在打开连接前使用ConnectionString,ConnectionTimeout和Mode属性对连接进行配置。(2)使用DefaultDatabase属性设置连接的默认数据库。(3)使用IsolationLevel属性为在连接上打开的事务设置隔离级别。(4)使用Provider属性指定OLE DB提供者。(5)Open方法建立到数据源的物理连接。使用Close方法将其切断。,14. 2使用ADO操作数据库中的数据,(6)Execute方法执行对连接的命令,并使用CommandTimeout属性对执行进行配置。 (7)可使用BeginTrans,CommitTrans和RollbackTrans方法以及Attributes属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。 (8)使用Errors集合检查数据源返回的错误。 (9)通过Version属性读取所使用的ADO执行版本。 (10)使用OpenSchema方法获取数据库纲要信息。ADO连接数据库的两种方式。(1)通过数据源名称(DSN)建立连接 先设置好DSN后,通过ADO的Connection对象实现数据库的连接。其语法格式如下:ConnectionString=“DSN=数据源名称;UID=用户名;PWD=口令”,14. 2使用ADO操作数据库中的数据,(2)直接使用数据库文件名称或数据源名称建立连接直接使用数据库的文件名(比如Access,Paradox或FoxPro的数据库文件)或者SQLServer的数据库,也可建立数据库的连接。其语法格式如下: Connectionstring=“Provide=提供者名称;DSN=数据源名称;DRIVER=驱动程序名称;SERVER=服务器名称;DATABASE=数据库名称;UID=用户名;PWD=口令” 1Connection对象的属性 Connection对象的属性如下: (1) Connection String属性该属性是一个字符串。包含用来建立到数据源的连接的信息。ADO支持的4个参数如下: Providr:指定连接所用的供应器的名称。,14. 2使用ADO操作数据库中的数据, File Name:指定包含预设连接信息的特定供应器的文件名。 Remote Provider:指定打开客户端连接(只适用于远程数据服务)时使用的供应器的名称。 Remote Serve:指定打开客户端连接(只适用于远程数据服务)时使用的服务器的路径名。 (2)CommandTimeout属性该属性是一个Long型数据值。指示在终止尝试和产生错误之前执行命令期间需等待的秒数。默认值为30秒。,14. 2使用ADO操作数据库中的数据,(3)Attributes 属性该属性是一个Long型数据值。设置或返回Connection对象的特性。并非所有的数据提供者都支持这种属性。它可取两个值: AdXactCommitRetaining:执行保留的提交,即通过自动调用CommitTrans启动新事务。并非所有的数据提供者都支持这种属性。 AdXactCommitRetaining:执行保留的终止,即通过自动调用RollbackTrans启动新事务。并非所有的数据提供者都支持这种属性。 (4) DefaultDatabase属性 该属性是一个字符串。包含Connection对象的默认数据库名称。,14. 2使用ADO操作数据库中的数据,(5) CursorLocation属性该属性是一个Long型数据值。包含光标服务程序的默认位置。这个值将由使用该Connection对象的Recordset对象自动继承。(6) ConnectionTimeout属性该属性是一个Long型数据值。指示在终止尝试和产生错误前建立连接期间所等待的秒数。默认值为30秒。(7)Mode属性该属性是一个Long型数据值。指示可以获得的数据修改权限。 (8) Provider属性指示Connection对象提供者的名称。 (9)State属性该属性是一个Long型数据值。说明Connection对象的当前状态。 (10)Version属性该属性是一个字符串。包含ADO目前的版本号。,14. 2使用ADO操作数据库中的数据,2 Connection 对象的方法 (1)BeginTrans,CommitTrans,RollbackTrans方法BeginTrans方法启动新事物,即表示一个操作的开始。 CommitTrans方法保存所有更改并结束当前事务。RollbackTrans方法取消当前事务中所做的任何更改并结束事务。其语法格式如下: level=Connection对象.BeginTrans() Connection对象.BeginTrans Connection对象.CommitTrans Connection对象.RollbackTrans (2) Cancel方法该方法终止一项由Execute或Open方法启动的异步任务。,14. 2使用ADO操作数据库中的数据,(3) Close方法该方法用于关闭与数据提供者之间的连接。也可用于关闭任何处于打开状态的Recordset对象,并可以把任意一个Command对象的ActiveConnection属性设置成Nothing。 (4)Execute方法该方法执行指定的命令。返回一个Recordset对象。其语法格式如下:对于不按行返回的命令字符串:Connection对象.Execute CommandText,RecordsAffected,Options对于按行返回的命令字符串:Set Recordset=Connection对象.Execute (CommandText,RecordsAffected,Options)(5) Open方法该方法打开到数据源的连接。其语法格式如下:Connection对象.Open ConnectionString,UserID,Password,Options,14. 2使用ADO操作数据库中的数据,(6) OpenSchema方法该方法从数据提供者处返回数据库信息。其语法格式如下:Set Recordset=Connection对象.OpenSchema(QueryType,Criteria,SchemaID) 3Connection对象的事件 Connection对象的事件如下。 (1)BeginTransComplete事件 该事件在BeginTrans方法已经以异步方式运行完成时被触发执行。 (2) CommitTransComplete事件 该事件在CommitTrans方法己经以异步方式运行完成时被触发执行。 (3) ConnectComplete事件 该事件在连接开始后被触发执行。 (4) Disconnect事件 该事件在连接结束后被触发执行。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号