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建立连线的方