Private Sub Command1_Click()
Dim txtsql As String
Dim cn As New Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=ll;Data Source=LLUO"
Set rs.ActiveConnection = cn
txtsql = "select * from luo where xm= '" & Trim(Text1.Text) & "'"
rs.CursorType = adOpenDynamic
rs.Open txtsql, cn, adOpenDynamic, adLockOptimistic
If Text1.Text = "" Then
MsgBox "请输入姓名!"
Exit Sub
End If
   rs.MoveFirst
   If Text1.Text = rs.Fields("xm") Then
    Text2.Text = rs.Fields(1)
    Else
    MsgBox "没有该姓名!"
    End If
    End Sub老是提示没找到姓名,可是我输入的姓名是数据表有的

解决方案 »

  1.   

    把你的sql语句放到查询分析器中看能不能得到答案
      

  2.   

    你查询写的什么牙,改成这个看看:rs.MoveFirst
    rs.find "xm='" text1.text & "'"If rs.eof=true Then
        MsgBox "没有该姓名!"
    Else
        Text2.Text = rs.Fields(1)
    endif
      

  3.   

    用trim函数,去掉空格,看行不行
      

  4.   

    你的查询语句是
    txtsql = "select * from luo where xm= '" & Trim(Text1.Text) & "'"
    这里对text1.text用到了trim函数
    但在比较时
    If Text1.Text = rs.Fields("xm") Then
    却没有用到,可能是这里出了问题
      

  5.   

    也不是trim的问题
     makepeace(Chandler)  ,你好,我是不想用rs.find查找,想试下别的方法,以前我也是用这个查找的,再问下就是rs.find在查多个条件时应试怎么样写?
    谢谢 
      

  6.   

    改成这样试试:Private Sub Command1_Click()
        Dim txtsql As String
        Dim cn As New Connection
        Dim rs As New ADODB.Recordset
        If Text1.Text = "" Then
            MsgBox "请输入姓名!"
            Exit Sub
        End If
        cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=ll;Data Source=LLUO"
        Set rs.ActiveConnection = cn
        txtsql = "select * from luo where xm= '" & Trim(Text1.Text) & "'"
        rs.CursorType = adOpenDynamic
        rs.Open txtsql, cn, adOpenDynamic, adLockOptimistic
        rs.MoveFirst
        If rs.EOF Then
            MsgBox "没有该姓名!"
        Else
            Text2.Text = rs.Fields(1)
        End If
    End Sub
      

  7.   

    If Text1.Text = rs.Fields("xm") Then
    这个判断是多余的"select * from luo where xm= '" & Trim(Text1.Text) & "'"
    这个查询所得到的只包含了你想找的姓名的记录