![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||||||||||||||||||||||||||||||||
| ado | ||||||||||||||||||||||||||||||||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-7-1 ![]() |
||||||||||||||||||||||||||||||||||||
|
如何在ado中使用connection 对象? 什么是connection对象? 一个connection对象描述了到数据源的物理连接。 Connection 对象的方法和属性有哪些呢? 下表列出了connection一些常用的方法。
下表列出了一些常用的CONNECTION对象的属性。
如何利用connection对象连接数据源? 用一个connnection 对象,只要指定一个connection字符串,目的是用来指定你想要联结的数据源,然后调用open方法来建立链接。 通过connection string提供的信息用OPEN方法可以非常轻松的建立与数据的连接。如果你决定用connection对象进行工作,那么你可以用它的STATE属性。如果connection对象被打开了那么它的返回值为adstateopen,如果不是它的返回值为adstateclosed.下面的例子是利用odbc建立与SQL的连接。 Sub ConnectionExample1() Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection ' 用ODBC打开连接. cnn.Open "Pubs", "sa", "" ' 检查是否完成连接 If cnn.State = adStateOpen Then MsgBox "Welcome to Pubs!" Else MsgBox "Sorry. No Pubs today." End If 关闭connection对象 cnn.Close End Sub 如果你只需要连接一个数据源。下面的代码要比上面的简单。作为选择,你可以创建一个connection对象,在调用open方法前你可以先设置ConnectionString属性。这种方法容许你连接一个数据源后再重新用这个对象再连接另一个数据源。 Sub ConnectionExample2() Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection ' 用ODBC DSN 建立连接 cnn.ConnectionString = "DSN=Pubs;UID=sa;PWD=;" cnn.Open ' 检查是否与数据源建立了连接. If cnn.State = adStateOpen Then MsgBox "Welcome to Pubs!" Else MsgBox "Sorry. No Pubs today." End If '关闭connection对象 cnn.Close End Sub 在你对CONNECTION对象建立连接前,你可以设置它的其它属性。例如,你可以设置连接超时。 Sub ConnectionExample3() Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection ' 设置CONNECTION属性 cnn.ConnectionString = "DSN=Pubs;UID=sa;PWD=;" cnn.ConnectionTimeout = 30 ' 打开connection 对象 cnn.Open ' 检查是否已经连接上数据源 If cnn.State = adStateOpen Then MsgBox "Welcome to Pubs!" Else MsgBox "Sorry. No Pubs today." End If ' 关闭connection对象 cnn.Close End Sub ConnectionString属性的语法结构假定数据源已经被建立或利用系统管理员的身份使用ODBC.不依靠存在的odbc数据源变得流行起来。这样就减轻了安装的负担。下面的例子是一个连接SQL SERVER的可选择性的方法,仅依靠本身存在的odbc driver . Sub ConnectionExample4() Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection '利用引用ODBC DRIVER打开CONNECTION对象 cnn.ConnectionString = "driver={SQL Server};" & _ "server=rgreennt;uid=sa;pwd=;database=pubs" cnn.Open ' Find out if the attempt to connect worked. '检查是否已经建立连接 If cnn.State = adStateOpen Then MsgBox "Welcome to Pubs!" Else MsgBox "Sorry. No Pubs today." End If ' 关闭CONNECTION对象 cnn.Close End Sub 现在ODBC DRIVER 有更广的变化,你可以用ADO和数据源对话。不久将会有更的的OLE DB提供者与数据源建立连接。The Microsoft® OLE DB Provider for ODBC是当前ADO默认的提供者。你能用不同的提供者设置CONNECTION对象的provider属性。 Sub ConnectionExample5() Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection '设置PROVIDER属性利用OLE DB Provider for ODBC cnn.Provider = "MSDASQL" '用ODBC DSN打开CONNECTION对象 cnn.ConnectionString = "driver={SQL Server};" & _ "server=rgreennt;uid=sa;pwd=;database=pubs" cnn.Open '检查是否连接上数据源 If cnn.State = adStateOpen Then MsgBox "Welcome to Pubs!" Else MsgBox "Sorry. No Pubs today." End If '关闭CONNECTION对象 cnn.Close End Sub 上面的代码设置PROVIDER属性不是必须因为ADO的默认提供者就是OLE DB PROVIDER FOR ODBC.这里只是认你知道当你用其它的OLE DB PROVIDERS时如何设置。 我如何用CONNECTION对象执行COMMAND? CONNNETION的EXECUTE方法用来发送一个COMMAND(一个SQL指令或其它的文本信息)到数据源。如果在SQL指令中要求返回几行记录集,一个RECORDSET对象将会被自动的建立。 Sub ConnectionExample6() Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Set cnn = New ADODB.Connection ' 引用 ODBC driver 建立连接. cnn.ConnectionString = "driver={SQL Server};" & _ "server=rgreennt;uid=sa;pwd=;database=pubs" cnn.Open ' 执行SQL 语句创立一个RECORDSET对象. Set rs = cnn.Execute("Select * From authors") ' 显示第一个 author. MsgBox rs("au_fname") & " " & rs("au_lname") ' 断开连接 rs.Close End Sub 记住用EXECUTE返回的RECORDSET是只读的,并且是仅向前光标。如果你需要用RECORDSET物件的更多函数,你首先要创建RECORDSET物件并设置想要设置的属性然后用OPEN方法打开它来执行查询和返回想要得到的光标类型. 在下面的例子中,COMMAND物件执行删除指令,由于没有数据集需要返回,你不需要额外的用RECORDSET物件.删除了多少行数据?你可以通过RECORDSAFFECTED参数知道它. Sub ConnectionExample7() Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Set cnn = New ADODB.Connection '引用ODBC DRIVER建立连接 cnn.ConnectionString = "driver={SQL Server};" & _ "server=rgreennt;uid=sa;pwd=;database=pubs" cnn.Open '向数据源发送删除指令 cnn.Execute ("Delete From authors Where au_id = '011-01-0111'") ' 检查有多少行数据被删除 Set rs = cnn.Execute("Select @@rowcount") ' 显示第一个字段 MsgBox rs(0) & " rows deleted" '关闭连接 rs.Close End Sub 下面的例子,这个COMMAND通过指定的存储过程的名字运行数据源的存储过程.由于需要返回数据,所以你必需建立RECORDSET物件。 Sub ConnectionExample8() Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Set cnn = New ADODB.Connection ' 引用ODBC DRIVER来建立连接 cnn.ConnectionString = "driver={SQL Server};" & _ "server=rgreennt;uid=sa;pwd=;database=pubs" cnn.Open ' 建立RECORDSET对象来运行存储过程 Set rs = cnn.Execute("Exec byroyalty 50") ' 通过循环来显示AUTHOR的ID Do While Not rs.EOF MsgBox rs("au_id") rs.MoveNext Loop ' 断开连接 rs.Close End Sub 小弟第一次译,错误是不可避免的。希望高手给以指正,同时希望初学中能从中有所获。 原文:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnado/html/msdn_workshp2.asp
|
||||||||||||||||||||||||||||||||||||
| 文章录入:admin 责任编辑:admin | ||||||||||||||||||||||||||||||||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||||||||||||||||||||||||||||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|