dim cnn as new connection dim recs as new recordset dim cmd as new command cnn.connectionstring="provider=sqloledb;server=.;uid=sa;pwd=" cnn.open cnn.defalutdatabase="dat" S1 = "select * from sysobjects" cmd.activeconnection=cnn recs.activeconnection=cnn cmd.CommandText = S1 Set recs = cmd.Execute 就是这些,当出现这种问题时把cnn.close后再open然后再对cmd与recs的activeconnection设置后则又可以使用,但用过之后又不行了,哇靠,这是怎么回事啊? 我用ado2.7与ado2.8两个都是一样的结果,郁闷
dim cnn as new adodb.connection(当然这应该是笔误)不要cnn.defalutdatabase="dat"试试其实不用command对象也可以,直接Set recs = cnn.Execute(S1) (不过用这种方法打开的记录集如果不用cnn.cursortype=aduseclient的话,recordcount通常都是-1)
不用那么麻烦,也不要声明那么多对象,这样: dim conn as new adodb.connection dim rs as new adodb.recordset conn.connectionstring="provider=sqloledb;server=.;uid=sa;pwd=" conn.open S1 = "select * from sysobjects" rs.open s1,conn,adOpenStatic,adLockOptimistic '你的其它代码 rs.close conn.close set rs=nothing set conn=nothing
dim recs as new recordset
dim cmd as new command
cnn.connectionstring="provider=sqloledb;server=.;uid=sa;pwd="
cnn.open
cnn.defalutdatabase="dat"
S1 = "select * from sysobjects"
cmd.activeconnection=cnn
recs.activeconnection=cnn
cmd.CommandText = S1
Set recs = cmd.Execute
就是这些,当出现这种问题时把cnn.close后再open然后再对cmd与recs的activeconnection设置后则又可以使用,但用过之后又不行了,哇靠,这是怎么回事啊?
我用ado2.7与ado2.8两个都是一样的结果,郁闷
(不过用这种方法打开的记录集如果不用cnn.cursortype=aduseclient的话,recordcount通常都是-1)
dim conn as new adodb.connection
dim rs as new adodb.recordset
conn.connectionstring="provider=sqloledb;server=.;uid=sa;pwd="
conn.open
S1 = "select * from sysobjects"
rs.open s1,conn,adOpenStatic,adLockOptimistic
'你的其它代码
rs.close
conn.close
set rs=nothing
set conn=nothing