对于ADODB的Recordset来说,是没有了SEEK的,所以应该是FIND。方法如下:
比如:rs.find"学号"="ad008"
语法:find(criteria,skiprows,searchdirection,start)如果要过滤数据,可以结Filter属性一个值:
比如:rs.filter="学号"="ad008"
用rs.filter=adfilternone来移除过滤。其实我发现如果是单表使用SQL生成的recordset,也是可以更新的与新增的,你也可以试试。

解决方案 »

  1.   

    ADODB.Recordset.Find调用前,先AdoDB.Recordset.movefirst,当然,如果已经是BOF就不需要了.判断的方法就我所知道的,就是看是不是EOF了,如果已经EOF了,就说明没有查到啦
      

  2.   

    用select不好吗?为什么用find,select更灵活呀
      

  3.   

    还是使用sql的select比较快点。
    select * form 你的表 Where 条件
    这不就好了。
      

  4.   

    同意 DavidZ(zcn)。
    find 很好用啊,find后面有一个SkipRows参数,别忘了,可实现多次查询
      

  5.   

    select 好啊,可以多种多样的查询!!!
      

  6.   

     strsql = "select * from SYS_USER "
        rs.Open strsql, , , , adCmdText      
        Do While Not rs.EOF
        If Text1.Text = rs.Fields("user_id").Value And Text2.Text = rs.Fields("user_password").Value Then
         uid = rs.Fields("user_id").Value
         oldpw = rs.Fields("user_password").Value   ''TAG
        rs.MoveNext
        End If
        Loop以上供参考,用SELECT
      

  7.   

    用Select 是在服务器端执行的,而用Find或Seek则是在本地执行的,看你需要哪种吧。