能告诉我代码怎么写吗?
数据库我很菜的
recordset我老是设不好,总是bof,eof出错
:(

解决方案 »

  1.   

    用Find方法取得现在Recordset位置,然后取数四列的数据,然后填充里面的四个控件!
    不过最好不要用控件和Data 控件一捆绑起来用,灵活大打Zhe扣
      

  2.   

    if rs.reocrdcount>0 then
        if rs.bof then
            rs.movenext
        endif
        if rs.eof then
            rs.MovePrevious
        endif
    endif
      

  3.   

    我没有用ado控件的
    是直接程序连接sql
      

  4.   

    combo1_change()
       ado.reordset.movefirst 
       ado.refresh
       do while ADO.recordset.item(0).value<>combo1.text
          ado.recordset.movenext
       loop
    end sub   
      

  5.   

    关于bof ,eof时,请在移动recordset前检查
    private command1_click()
    if eof() or bof() then
    msgbox "At the Eof or Bof"
    exit sub
    endif
    rs.movefirst(next,last....)
    end sub
      

  6.   

    to:Gadfly(海阔天空) 
    这样做当数据库很大的时候会不会很慢呀?
    还有其他方法吗?
      

  7.   

    to:night_cai(小菜改名为老烟虫)
    请问eof(),bof()的值是随时更新的吗?
    我好像试过监视eof的值,一直都是false,但程序还是出现eof错误,why?
      

  8.   

    Dim asSql As String
    asSql = "SELECT sam_name,sam_unit,sam_length,sam_width,sam_height,sam_unit FROM sample where sam_code='" & Trim(txtAddCode.Text) & "'"
    Arst.Open asSql, adoConn
     txtAddName.Text = Arst("sam_name")
     txtAddUnit.Text = Arst("sam_unit")
     aL = Arst("sam_length")
     aW = Arst("sam_width")
     aH = Arst("sam_height")
     Arst.Close Set Arst = Nothing用SQL吧,这是我刚编的一个程序里类是这种情况的代码。
      

  9.   

    这种方法的确不好,我只是提出个简单的思路.
    其实按照这个思路也可以改进.
    譬如你可以编一个函数用来进行折半算法来查找所要的记录.还有在数据库里面建索影.
    还有要么更简单,如果你的combo不是按照字母顺序的话,combo里面的顺序就是数据库里面记录的顺序.所以你只要获取combobox.listindex+1,它就是记录的位置,然后ADO.Movecombobox.listindex+1 , 0  就可以了.绝对简单明了.
    方法多的很.其实你自己试试可能回更有收获