我是VBScript的新手,我遇到了以下问题。我想从sql server db获取数据并允许RecordCount属性。下一个代码获取数据但RecordCount被禁用。如何启用此属性
Const DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=BUG\SQLSERVER2005;Initial Catalog=test;user id ='sa';password='111111'"
Set myConn = CreateObject("ADODB.Connection")
Set myCommand = CreateObject("ADODB.Command" )
myConn.Open DB_CONNECT_STRING
Set myCommand.ActiveConnection = myConn
myCommand.CommandText = ("select * from klienci k where k.indeks = " & oferty(16))
Set klienci = myCommand.Execute
答案 0 :(得分:0)
我不认为这是一个VBScript问题 - 我认为这是一个ADO问题。
我认为您正在使用默认的仅向前游标,该游标不适用于recordcount。
我认为你应该在那里粘贴一个cursortype = adOpenStatic但是我确定你是否在指定一个记录集对象时有点麻烦 - klienci?
如果有,试试 klienci.cursortype = adOpenStatic
答案 1 :(得分:0)
AFAIK使用Execute
对象的Command
方法时无法更改游标类型,并且在检索记录集后无法更改游标类型。但是这样的事情可能有用:
Const DB_CONNECT_STRING = "Provider=SQLOLEDB.1;Data Source=BUG\SQLSERVER2005;Initial Catalog=test;user id ='sa';password='111111'"
Set myConn = CreateObject("ADODB.Connection")
myConn.Open DB_CONNECT_STRING
query = "select * from klienci k where k.indeks = " & oferty(16)
Set klienci = CreateObject("ADODB.Recordset")
klienci.CursorLocation = 3 'adUseClient
klienci.CursorType = 3 'adOpenStatic
klienci.LockType = 1 'adLockReadOnly
klienci.Open query, myConn