vbscript
  • ado
  • recordset
  • 2013-04-23 57 views 1 likes 
    1

    我是VBScript中的新手,我遇到了以下問題。我想從SQL服務器數據庫獲取數據並允許RecordCount屬性。下一個代碼獲取數據,但RecordCount被禁用。如何啓用此屬性VBscript 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

    AFAIK使用Command對象的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 
    
    +0

    非常感謝。這非常有幫助 – user2201747 2013-04-24 06:15:01

    0

    我不認爲這是一個VBScript問題 - 我認爲這是一個ADO問題。

    我想你正在使用一個默認的只向前遊標,它不會與recordcount一起工作。

    我認爲你應該堅持一個cursortype = adOpenStatic在那裏,但我有點麻煩,確定如果你指定一個記錄集對象 - klienci?

    如果是這樣嘗試 klienci.cursortype = ADOPENSTATIC

    相關問題