我用ADO连接SQL数据库空表时出现错误提示:
BOF或EOF中有一个是"真",所需的操作要求一个当前的记录以下是我连接数据库的代码:
Dim cn As ADODB.Connection
Dim rs As ADODB.RecordsetPrivate Sub Form_Load()
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "dsn=class;uid=;pwd=;"
rs.Open "select * from roominfo", cn, adOpenStatic, adLockOptimisticFor i = 0 To 3
If Not IsNull(rs.Fields(i)) Then
  
  Text1(i).Text = rs.Fields(i)
Else
  Text1(i).Text = ""
End If
Next
  End Sub

解决方案 »

  1.   


    For i = 0 To 3
    if rs.eof then exit For'-------------------------------------------------->加上这句
    If Not IsNull(rs.Fields(i)) Then
      
      Text1(i).Text = rs.Fields(i)
    Else
      Text1(i).Text = ""
    End If
    Next
      

  2.   

    to fayshy
    你加这句很有用,谢谢!
    还请教你一个很菜的问题,我在if rs.eof then exit For'---------------->加上这句
    后面加了一个end if 反而出错,不加是对的,不是一个IF对应一个END IF吗?