Dim cn As ADODB.Connection
   Dim rs As ADODB.Recordset
   Dim sql As String
   Dim iLoop As Integer
   
   Set cn = New ADODB.Connection
     
   cn.Open "driver={SQL Server};server=127.0.0.1;uid=sa;pwd=;database=dbname"
     
     Set rs = New ADODB.Recordset
    
     sql = "select * from table where field='123'"
     rs.Open sql, cn, adOpenStatic, adLockBatchOptimistic

解决方案 »

  1.   

    我用sql语句打开数据库表 ,然后在想查找一条满足条件的 记录啊
      各位留下  qq
      供大家qq探讨vb   啊
      

  2.   


    可以用Find 方法:
    搜索 Recordset 中满足指定标准的记录。如果满足标准,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。语法Find (criteria, SkipRows, searchDirection, start)参数criteria   字符串,包含指定用于搜索的列名、比较操作符和值的语句。SkipRows    可选,长整型值,其默认值为零,它指定当前行或 start 书签的位移以开始搜索。searchDirection    可选的 SearchDirectionEnum 值,指定搜索应从当前行还是下一个有效行开始。其值可为 adSearchForward 或 adSearchBackward。搜索是在记录集的开始还是末尾结束由 searchDirection 值决定。start    可选,变体型书签,用作搜索的开始位置。说明criteria 中的“比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)、“>=”(大于或等于)、“<=”(小于或等于)、“<>”(不等于)或“like”(模式匹配)。 criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分界(如“state = 'WA'”)。日期值以“#”(数字记号)分界(如“start_date > #7/22/97#”)。如“比较操作符”为“like”,则字符串“值”可以包含“*”(某字符可出现一次或多次)或者“_”(某字符只出现一次)。(如“state like M_*”与 Maine 和 Massachusetts 匹配。)。
      

  3.   

    do while rs.eof=flase
      if rs!想找字段=要找字段 then
      exit do
      rs.movenext
    loop
      

  4.   

    用find方法可以具个例子吗,看得头晕,有个例子要好懂些,我的那段虽然好理解,但速度慢因为要遍历记录集,if里可以写你想写的符合条件
      

  5.   

    就这样呀~如果在库里的话可以用Sql传到Ado.Recordset。如果在Ado.Recordset查的话就要用FIND了~楼上就有~
      

  6.   

    STRI = " 字段=  " & hhh& ""
                        rc.Find STRI
      

  7.   

    如果在库里的话可以用Sql传到Ado.Recordset。如果在Ado.Recordset查的话就要用FIND了~真的是这样吗?  find很麻烦啊
      

  8.   

    find,filter都可以。
    示例如下:
    Dim rs As New ADODB.Recordset
    rs.Find " 字段=值", , adSearchForward
    If rs.EOF Then
     MsgBox "没找到"
    Else
     MsgBox "找到"
    End If
    rs.Filter = " 字段=值 "
    If rs.RecordCount > 0 Then
     MsgBox "没找到"
    Else
     MsgBox "找到"
    End If