RDO记录集EOF 和BOF 都为FALSE在立即窗口中,记录集的字段有值(rsSQL![KBN1])。。但是ROWCOUNT返回却为-1
Set rsSQL = RDOCnBmnDB.OpenResultset(strSQL) ReDim strKBN2(rsSQL.RowCount)哪位高手帮帮忙啊?。 谢谢 在线等待中

解决方案 »

  1.   

    ROWCOUNT是什摸是记录集的行数吗?
      

  2.   

    RDO.rowcount来查询返回的记录集条数
      

  3.   

    使用 RowCount 属性找出在 rdoResultset 对象中有多少行被访问,或判断返回的 rdoResultset 一行也没有。在所有的行都被访问完之前,RowCount 不指示 rdoResultset 查询将返回多少行。在所有的行都被访问完之后,RowCount 属性才反映 rdoResultset 中的总行数。引用 RowCount 属性造成 RDO 全部移居结果集-就好象执行了一个 MoveLast 方法。根据驱动程序和数据资源,RowCount 属性既可以返回 -1,指示行的个数是不可用的,又可以是0,指示 rdoResultset 没有返回行。如果驱动程序能够返回行计数,RowCount 属性就返回 rdoResultset 中的行的数目。也就说要将所有记录访问一遍才能得到真正的记录数
    Option Explicit
    Dim ps As rdoPreparedStatement
    Dim rs As rdoResultset
    Dim cn As rdoConnectionPrivate Sub Form_Load()
    Dim SQL As String
    Set cn = MSRDC1.ConnectionSQL = "{call ChooseAuthor (?)}"
    Set ps = cn.CreatePreparedStatement("GetAuthor", SQL)
    End Sub
    Private Sub Search_Click()
    ps(0) = NameWanted.Text
    Set MSRDC1.Resultset = ps.OpenResultset( _
       rdOpenKeyset, rdConcurReadOnly)
    With MSRDC1.Resultset
      If .RowCount = 0 Then
        MsgBox "No titles by that author were found."
        NameWanted.SetFocus
      Else
        Do Until .EOF
          .MoveNext
          TitlesFound = .RowCount   '到目前为止有多少行
        Loop
        TitlesFound = .RowCount         '所找到的所有行
      End If
      .MoveFirst
    End With
    End Sub
      

  4.   

    不对,,,应该是总数 I = Data1.RDO.RecordCount
      

  5.   

    rowcount不是图形控件的属性马