Dim CN As New ADODB.Connection
    Dim Rs As New ADODB.Recordset
    
    '打开数据库
    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=H:\VB程序\图书管理系统\图书管理系统.mdb; Persist Security Info = False"
    CN.Open
        Rs.CursorLocation = adUseClient
    Rs.Open "Select BookMessage.BookName FROM BookMessage WHERE BookMessage.BookIndex ='" & Text2.Text & "'", CN, adOpenDynamic, adLockBatchOptimistic
     
    Text3.Text = Rs.Fields(0)如何用语句判断Rs中是否有BookIndex字段呢?

解决方案 »

  1.   

    for i=0 to rs.fields.count-1
      if rs.fields(i).name="BookIndex" then
         msgbox "有"
         exit for
      end if
    next i
      

  2.   

    二楼的代码是正确的。不过,你看看你写的SQL语句,可能肯定没有BookIndex字段  Rs.Open "Select BookMessage.BookName FROM BookMessage WHERE 
                      ^^^^^^^^^^^^^^^^^^^^
    BookMessage.BookIndex ='" & Text2.Text & "'", CN, adOpenDynamic, adLockBatchOptimistic
         
    你只选定了BookName字段,所以rs只有一个字段,可以改成select BookName,BookIndex from ...
      

  3.   

    记录集的字段名是人为设定的,不管数据库中是否有,都可以在记录集中得到
    Select '1' as AAA from BookMessage所得记录集中就有AAA字段,是否有
    由写法决定。
    Select BookIndex from BookMessage,就一定有BookIndex字段