sql >> データベース >  >> RDS >> Sqlserver

VB6ADODB.RecordsetRecordCountプロパティは常に-1を返します

    実際にはCursorLocation この場合、主要な役割を果たします。 rs.CursorLocation = adUseClientを使用します カーソル位置を設定して試してください。

        Set rs = New ADODB.Recordset
        rs.CursorLocation = adUseClient
        Dim DbConnectionString As String
    
        DbConnectionString = mSqlProvider & _
                                mSqlHost
    
    
        Set mDbConnection = New ADODB.Connection
        mDbConnection.CursorLocation = adUseServer
    
        Call mDbConnection.Open(DbConnectionString)
    
        If mDbConnection.State = adStateOpen Then
            Debug.Print (" Database is open")
            ' Initialise the command object
            Set mCmd = New ADODB.Command
            mCmd.ActiveConnection = mDbConnection
    
            mCmd.CommandText = "select * from myTestTable"
            mCmd.CommandType = adCmdText
    
            Set rs = mCmd.Execute
    
            Debug.Print rs.RecordCount  ' This should now return the right value.
            Debug.Print rs.Fields(0)   ' returns correct data for first row, first col
            Debug.Print rs.Fields(1)   ' returns correct data for first row, 2nd col
            Debug.Print rs.Fields(2)   ' returns correct data for first row, 3rd col
    
        End If
    
    End Sub
    


    1. PostgreSQLJSON列をHibernateエンティティプロパティにマッピングする

    2. 大量更新カウンターMysql

    3. データベース内の特定のスキーマのすべてをPostgreSQLのグループロールに付与します

    4. 行コンストラクターは何に使用されますか?