转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
ADO的建立连线         ★★★★

ADO的建立连线

作者:闵涛 文章来源:闵涛的学习笔记 点击数:652 更新时间:2009/4/23 14:57:56
 ADO的建立连线
  ADO的连线主要可分成透过OLE DB Privder的方式与OLE DB Provider for ODBC,前者很明显的是Microsoft公司极力发展的方式,据说它比透过ODBC的方式快且所 资源少 ,但实№上如何,几年之後就可很清楚了。不过目前有Privder提供OLE DB介面者尚没有非常多,但提供ODBC介面者就很多了,在只有ODBC Driver之下,如果也要使用ADO的话那可以使用OLE DB Provider for ODBC的介面,然而它的Performance和使用RDO来比,那得花上好些工夫试看看,至少我没有那些工夫做这种事。

先看看OLE DB Provider for ODBC的连法

Dim connstr As String
Set cn = New ADODB.Connection
cn.Provider = "MSDASQL" Microsoft OLE DB Provider for ODBC)
因为是透过ODBC来做,所以connstr的设定,和使用RDO ODBC的连线字串皆相同
connstr = "UID=cww;PWD=jjh5612;Database=cwwpf@eis;" _
+ "Driver={OpenLink Generic 32 Bit Driver};" _
+ "Host=192.168.0.61;" _
+ ";FetchBufferSize=30" _
+ ";NoLoginBox=Yes" _
+ ";Options=" _
+ ";Protocol=TCP/IP" _
+ ";ReadOnly=No" _
+ ";ServerOptions=" _
+ ";ServerType=Informix 7.2"
cn.ConnectionString = connstr
cn.Open

sql = "Select * from testtab order by case_no"
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = cn 设定该Resultset依附在cn物件上开启
rs.CursorLocation = adUseServer
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Source = sql
rs.Open


  如此启了一个Connection。不过这边要提出的是,ADO不像RDO它的Recordset物件不一定要附属於某一个已开启的Connection物件。回想一下,一般RDO Recordset的建立是透过 rdoConnection.OpenResultset或rdoQuery.OpenResultset的方式,而rdoQuery的建立是透过rdoConnection.CreateQuery,所以这里可见到rdoConnection/rdoQuery/rdoResultset 是有阶层观念的,rdoResultset一定要透过现存的一个rdoConnection物件才能建立,但是在ADO则不同,adoResultset物件可以自行就产生了,不必透过adoConnection物件,但它也可以将Connection依附在现存的adoConnection之下,像上面的例子便是如此。而以下的例子则是单独使用ado Resultset建立连线的方? 当然,单独使用Resultset物件来建立连线它也有建立一个adoConnection来连,只是我们没有办法Reference到它;而在比较复杂的系统(例如要有Transacction),那还是得先从ado Connection物件建立起再来做。


connstr = "UID=cww;PWD=jjh5612;Database=cwwpf@eis;" _
+ "Driver={OpenLink Generic 32 Bit Driver};" _
+ "Host=192.168.0.61;" _
+ ";FetchBufferSize=30" _
+ ";NoLoginBox=Yes" _
+ ";Options=" _
+ ";Protocol=TCP/IP" _
+ ";ReadOnly=No" _
+ ";ServerOptions=" _
+ ";ServerType=Informix 7.2"
sql = "Select * from testtab order by case_no"
Set rs = New ADODB.Recordset
用以下的方式就不用单独设定CursorType/LockType/Source等等的属性,而原本第二
个参数是存放所依附的adoConnect物件,现在则改成连线的字串
rs.Open sql, constr, adOpenKeyset, adLockOptimistic

而使用OLE DB 的方式呢?

Set cn = New ADODB.Connection
connstr = "Data Source=OPEN_VIEW;User=cww;Password=jjh5612;Initial Catalog=Pubs"
cn.Provider = "SQLOLEDB" 设定Privder是SQL Server OLE DB,该名称随不同的
Database Privder不同而有所不同
cn.ConnectionString = connstr
cn.Open
sql = "Select * from Authors"
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = cn
rs.Open sql, cn, adOpenKeyset, adLockOptimistic

  上面的例子中,Data Source指的是SQL Server的名称,而Initial Catalog指的是Database名称在这里,我们也可以不设定Database的名称,而在ado Connection建立之後再来设
定Connection物件的DefaultDatabase如下:

Set cn = New ADODB.Connection
connstr = "Data Source=OPEN_VIEW;User=cww;Password=jjh5612;"
cn.Provider = "SQLOLEDB"
cn.ConnectionString = connstr
cn.Open
cn.DefaultDatabase = "cwwtest"
sql = "Select * from testtab"
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = cn
rs.Open sql, cn, adOpenKeyset, adLockOptimistic

Set rs2 = New ADODB.Recordset
cn.DefaultDatabase = "Pubs"
rs2.Open "Select * from Authors", cn, adOpenForwardOnly, adLockReadOnly

  如此一来,同一个Connection物件,便可以有不同Database的asoResultset物件附於其上了。


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台