数据库编程接口_第1页
数据库编程接口_第2页
数据库编程接口_第3页
数据库编程接口_第4页
数据库编程接口_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

数据库编程接口第1页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)ODBC(OpenDatabaseConnectivity)是由Microsoft开发和定义的一种访问数据库的应用程序接口,是一组用于访问不同构造的数据库的驱动程序,在数据库应用程序中,不需要考虑各类数据库的系统的构造细节,只要使用ODBC提供的驱动程序,通过将SQL语句发送到目标数据库中,就可以存取各类数据库中的数据。第2页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)1.ODBC组件ODBC使用的分层体系结构包括:ODBC应用程序、驱动程序管理器、ODBC驱动程序和数据源。其结构课本所示。2.配置ODBC数据源在使用ODBC之前,必须安装一个ODBC驱动程序,然后再配置一个数据源。数据库驱动程序使用DataSourceName(DSN)来定位特定的ODBC兼容数据库,将信息从应用程序传递给数据库。典型情况下,DSN通常包含数据库配置、用户安全性和定位信息,并且可以获取WindowsNT注册表项中或文本文件的表格。(1)ODBC数据源名数据源名是为所要访问数据库指定的名字。通常情况下,如果要连接到一个数据库上,则必须发送一组参数来获得该连接。在每次要连接一个数据库时,反复地发送这些信息很麻烦,因为这些信息是永远不改变的。

第3页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)

(2)SQLServer数据库系统DSN的配置方法下面通过一个实例,具体说明DSN的配置方法。【例14-1】建立一个名称为studentDBS的数据源,通过该数据源名称引用student_ms数据库。(1)在计算机中,通过“开始”→“控制面板”→“管理工具”→“数据源(ODBC)”命令,打开ODBC数据源管理器。在该数据源管理器中选择“系统DSN”标签页,如图所示。第4页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)

(2)单击“添加”按钮,打开“创建新数据源”对话框,在“选择您想为其安装数据源的驱动程序”的列表框中,显示系统中全部ODBC驱动程序,选择“SQLServer",如图所示。第5页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(3)单击“完成”按钮,系统自动弹出如下图所示的“创建到SQLServer的新数据源”设置界面,在数据源名称文本栏中输入内容:第6页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(4)单击“下一步”按钮,SQLServer将确定应该如何验证登录ID的真伪。选择“使用网络登录ID的WindowsNT验证”这种验证方式。如图所示,可以根据需要选择不同的选项。第7页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(5)单击“下一步”按钮,SQLServer将确定默认的数据库等,如图所示。在该对话框中,可根据需要更改默认数据库的名称,这里输入“student_ms”,也可以添加“附加数据库文件名”等。

第8页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(6)单击“下一步”按钮,出现对新数据源进行简单设置的对话框,如图所示。第9页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(7)单击“完成”按钮,系统将会显示新创建的ODBC数据源的配置情况的描述,如图所示。第10页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(8)单击“测试数据源”按钮,如果DSN创建成功,则“SQLServerODBC数据源测试”对话框将会显示测试成功的消息,如图所示。第11页,共33页,2023年,2月20日,星期六14.1开放式数据库连接(ODBC)(9)单击“确定”按钮,完成配置SQLServe:数据源的操作。返回到“系统DSN”标签页中,则会看到刚刚建立好的数据源。注意:在配置ODBC数据源以前,请确定数据库已建立完成,如果是配置SQLServer数据源,还得确定SQLServer处于运行状态。第12页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据14.2.1ActiveX数据对象(ADO)ADO包括Command,Connection等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。ADO具体的七个对象为:●Command:定义对数据源进行操作的命令;●Connection:建立一个数据源的连接;●Error:提供数据访问错误的细节;●Field:表示一般数据类型的字段;●Parameter:表示Command对象的参数;●Property:表示由数据源定义ADO对象的动态特性;●Recordset:数据库命令结果集对象。第13页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据通过ADO访问数据库通常经过下列步骤。①创建数据库源名,即创建和配置ODBC数据源。②创建数据库链接如果要访问数据,必须首先创建与数据库的链接,其语法如下:SetConn=ServerCreateObject("ADOBD.CONNECTION")这条语句创建了链接对象Conn,然后打开该连接,其语法格式为:Conn.Open"dsn_name',"username'","password"其中该连接的DSN名为“dsn_name",”username”、“password”分别表示访问数据库的用户名和口令,为可选参数。在这里我们主要介绍Connection对象、Command对象和Recordset对象。第14页,共33页,2023年,2月20日,星期六

14.2使用ADO操作数据库中的数据14.2.2Connection对象Connection对象表示数据源的唯一会话。在使用客户端/服务器数据库系统的情况下,该对象可以等价于到服务器的实际网络连接。Connection对象的某些集合、方法或属性可能无效,这取决于提供者支持的功能。使用Connection对象的集合、方法和属性可以执行下列操作:(1)在打开连接前使用ConnectionString,ConnectionTimeout和Mode属性对连接进行配置。(2)使用DefaultDatabase属性设置连接的默认数据库。(3)使用IsolationLevel属性为在连接上打开的事务设置隔离级别。(4)使用Provider属性指定OLEDB提供者。

(5)Open方法建立到数据源的物理连接。使用Close方法将其切断。第15页,共33页,2023年,2月20日,星期六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=口令”第16页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据(2)直接使用数据库文件名称或数据源名称建立连接直接使用数据库的文件名(比如Access,Paradox或FoxPro的数据库文件)或者SQLServer的数据库,也可建立数据库的连接。其语法格式如下:Connectionstring=“Provide=提供者名称;DSN=数据源名称;DRIVER=驱动程序名称;SERVER=服务器名称;DATABASE=数据库名称;UID=用户名;PWD=口令”1.Connection对象的属性Connection对象的属性如下:(1)ConnectionString属性该属性是一个字符串。包含用来建立到数据源的连接的信息。ADO支持的4个参数如下:●Providr:指定连接所用的供应器的名称。第17页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据●

FileName:指定包含预设连接信息的特定供应器的文件名。●

RemoteProvider:指定打开客户端连接(只适用于远程数据服务)时使用的供应器的名称。●

RemoteServe:指定打开客户端连接(只适用于远程数据服务)时使用的服务器的路径名。(2)CommandTimeout属性该属性是一个Long型数据值。指示在终止尝试和产生错误之前执行命令期间需等待的秒数。默认值为30秒。第18页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据(3)Attributes属性该属性是一个Long型数据值。设置或返回Connection对象的特性。并非所有的数据提供者都支持这种属性。它可取两个值:●AdXactCommitRetaining:执行保留的提交,即通过自动调用CommitTrans启动新事务。并非所有的数据提供者都支持这种属性。●AdXactCommitRetaining:执行保留的终止,即通过自动调用RollbackTrans启动新事务。并非所有的数据提供者都支持这种属性。(4)DefaultDatabase属性该属性是一个字符串。包含Connection对象的默认数据库名称。第19页,共33页,2023年,2月20日,星期六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目前的版本号。第20页,共33页,2023年,2月20日,星期六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方法启动的异步任务。第21页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据

(3)Close方法该方法用于关闭与数据提供者之间的连接。也可用于关闭任何处于打开状态的Recordset对象,并可以把任意一个Command对象的ActiveConnection属性设置成Nothing。(4)Execute方法该方法执行指定的命令。返回一个Recordset对象。其语法格式如下:对于不按行返回的命令字符串:Connection对象.ExecuteCommandText,RecordsAffected,Options对于按行返回的命令字符串:SetRecordset=Connection对象.Execute(CommandText,RecordsAffected,Options)(5)Open方法该方法打开到数据源的连接。其语法格式如下:Connection对象.OpenConnectionString,UserID,Password,Options第22页,共33页,2023年,2月20日,星期六14.2使用ADO操作数据库中的数据

(6)OpenSchema方法该方法从数据提供者处返回数据库信息。其语法格式如下:SetRecordset=Connection对象.OpenSchema(QueryType,Criteria,SchemaID)3.Connection对象的事件Connection对象的事件如下。(1)BeginTransComplete事件该事件在BeginTrans方法已经以异步方式运行完成时被触发执行。(2)CommitTransComplete事件该事件在CommitTrans方法己经以异步方式运行完成时被触发执行。(3)ConnectComplete事件该事件在连接开始后被触发执行。(4)Disconnect事件该事件在连接结束后被触发执行。第23页,共33页,2023年,2月20日,星期六

(5)ExecuteComplete事件该事件在Execute方法已经以异步方式运行完成时被触发执行。(6)InfoMessage事件该事件在当前连接收到警告信息时被触发执行。(7)RollbackTransComplete事件该事件在RollbackTrans方法己经以异步方式运行完成时被触发执行。(8)Wi1lConnect事件该事件在连接启动前被触发执行。(9)Wi1lExecute事件该事件在命令被执行前被触发执行。14.2.3Command对象Command对象用于向已建立的连接发出一条命令,通常是SQL语句,或者是数据库存储过程。虽然Connection对象己经有Execute方法可以用于运行SQL语句,但是Command对象提供了更专门的运行方式和参数传递。14.2使用ADO操作数据库中的数据第24页,共33页,2023年,2月20日,星期六

14.2使用ADO操作数据库中的数据

1.Command对象的属性Command对象的属性如下。(1)ActiveConnection属性该属性是一个指示指定的Command对象当前所属的Connection对象。(2)CommandText属性该属性是一个String型值。包含SQL语句、存储过程或其他将被执行的提供者命令。(3)CommandTimeout属性该属性是一个Long型数值。指示在终止尝试和产生错误之前执行命令期间需等待的时间(单位为秒)。默认值为30秒。(4)CommandType属性该属性是一个枚举型数值,

第25页,共33页,2023年,2月20日,星期六

(5)Name属性该属性是一个String型数据,指出对象的名称。(6)Parameters属性该属性是Parameters集合的一个应用对象。包含要传递给一个存储过程或一个参数化查询的参数。(7)Prepared属性该属性是一个布尔型数值。当取True时,表示命令执行之前将被优化。(8)Properties属性该属性是Properties集合的一个引用对象,包含关于Command对象的附加信息。(9)State属性该属性是一个Long型数值。指出Command对象的当前状态。

14.2使用ADO操作数据库中的数据第26页,共33页,2023年,2月20日,星期六

2.Command对象的方法Command对象的方法如下。(1)Cancel方法(2)CreateParameter方法(3)Execute方法3.Parameters集合和Parameter对象

(1)Parameters集合Parameters集合用在Command对象中,其作用是传递执行CommandText命令所需要的参数。其主要属性如下。

Count属性

●Item属性

●Append方法

●Delete方法

●Refresh方法14.2使用ADO操作数据库中的数据第27页,共33页,2023年,2月20日,星期六

(2)Parameter对象一个Parameter对象是Parameters集合中的一个成员,其常用的属性如下:

Name属性

Type属性

Direction属性

Size属性

Value属性14.2.4Recordset对象在ADO的所有对象中,Recordset对象是使用最多的,它包含某个SQL查询返回的数据库记录集,以及记录集中的游标(Cursor),Recordset对象是一个跟数据库中的表相对应的结构,也可以理解成具有字段(Fields)和字段值(Value)的对象,在这些记录中可以向前一条或向后一条移动。14.2使用ADO操作数据库中的数据第28页,共33页,2023年,2月20日,星期六

1.Recordset对象的属性(1)AbsolutePage属性(2)AbsolutePosition属性(3)ActiveCommand属性(4)ActiveConnection属性(5)BOF和EOF属性

……2.Recordset对象的方法Recordset对象的方法如下。(1)AddNew方法(2)Cancel方法(3)CancelBatch方法(4)CancelUpdate方法(5)Clone方法

……14.2使用ADO操作数据库中的数据第29页,共33页,2023年,2月20日,星期六

3.Recordset对象的事件(1)EndOfRecordset事件(2)FetchComplete事件(3)FetchProgress事件(4)FieldChangeComplete事件(5)MoveComplete事件

……14.2使用ADO操作数据库中的数据第30页,共33页,2023年,2月20日,星期六

ADO.NET由MicrosoftActiveXDataObjects(ADO)改进而来,它提供平台互用和可收缩的数据访问功能。它虽然始于ADO,是一个改进了的ADO的新版本,但ADO.NET最终演变成了一个和ADO非常不同的技术。ADO.NET的应用重点是Internet和基于Web的应用程序。可以将ADO.NET对象模型划分为两个组件:DataSet和数据提供程序。DataSet是一个特殊的对象,它包含有一个或者多个表。数据提供程序则是由Connection、Command、DataReader和DataAdapter组合而成的。

14.3ADO.NET第31页,共33页,2023年,2月20日,星期六

ADO.NET数据对象如下:(1)Command对象用于定义要在DBMS上

温馨提示

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

评论

0/150

提交评论