rs.Open "select  password   from   passwords where password like '" & Trim(str) & "'", cnn, adOpenKeyset, adLockOptimistic我要怎样改成直接用
  a="select  password   from   passwords where password like '" & Trim(str) & "'"
就是直接一句查询,然后送给变量

解决方案 »

  1.   

    LZ:你的like用法有误:
    rs.Open "select  password  from  passwords where password like '" & Trim(str) & "%'", cnn, adOpenKeyset, adLockOptimistic 
      

  2.   

    模糊查询应该查询出不少的结果,你传递给变量哪一个?
    似乎应该是
    rs.Open "select  password  from  passwords where password = '" & Trim(str) & "'", cnn, adOpenKeyset, adLockOptimistic 
    变量 = rs.Fields(0)
      

  3.   

    'password为关键字,要用方括号括起来
    "select  [password]  from  passwords where [password] = '" & Trim(str) & "'"
      

  4.   

    我要怎样改成直接用 
      a="select  password  from  passwords where password like '" & Trim(str) & "'" 
    就是直接一句查询,然后送给变量这个查询语句有问题,我已经改了,我的意思是说能不能不把查询与rs.open放到一起。rs.open,有什么作用啊。
    能不能先执行完那一句,我在去查询语句。
      

  5.   

    不行,rs.open是打开按查询条件执行而形成记录集于内存.
    你的"select  password  from  passwords where password like '" & Trim(str) & "%'"是符合SQL结构化查询语言的查询句,由ADO数据对象按
    rs.Open "select  password  from  passwords where password = '" & Trim(str) & "'", cnn, adOpenKeyset, adLockOptimistic 
    执行查询
    并将ADFO数据对象执行查询的结果记录赋于内存的记录集.
    然后通过
    a = rs.Fields(0)
    将其值赋值给变量a 
      

  6.   

    你可以这样
    a="select ..."rs.open a...
      

  7.   

        Dim cn As New ADODB.Connection '定义数据库的连接存放数据和代码
         Dim rs As New ADODB.Recordset
        Dim sql As String
        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Downloads\VB_program\kongtiao\CarTemp.mdb;Persist Security Info=False"
        cn.Open
        sql = "select * from jishijilu where car_bm like'" & "DF160-05" & "%'"
        rs.CursorLocation = adUseClient
        rs.Open sql, cn, adOpenDynamic, adLockOptimistic
        Set DataGrid1.DataSource = rs
        Set Text2.DataSource = rs
        Text2 = rs.Fields(1)