VBscript记录计数属性

VBscript记录计数属性,vbscript,ado,recordset,Vbscript,Ado,Recordset,我是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

我是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

我不认为这是一个VBScript问题-我认为这是一个ADO问题

我认为您使用的是默认的只向前移动的游标,它不能与recordcount一起使用

我认为您应该在其中粘贴一个cursortype=adOpenStatic,但我在确定是否指定了记录集对象-klienci时遇到了一点困难

如果是的话,试试看
klienci.cursortype=adOpenStatic

AFAIK使用命令对象的Execute方法时不能更改光标类型,检索记录集后也不能更改光标类型。不过,类似的方法可能会奏效:

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

谢谢。这很有帮助