sql >> Database >  >> RDS >> Sqlserver

VB6 ADODB.Recordset RecordCount-eigenschap retourneert altijd -1

Eigenlijk de CursorLocation speelt hierbij een grote rol. Gebruik rs.CursorLocation = adUseClient om de cursorlocatie in te stellen en probeer het.

    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. Php 5.3 magische aanhalingstekens gpc

  2. Hoe ongebruikte tijdelijke bestanden verwijderen uit door Google Cloud SQL beheerd Postgres?

  3. (+) =operator in oracle sql in where-clausule

  4. 7 gratis hulpprogramma's voor het maken van databasediagrammen voor drukke gegevensmensen