2014-09-18 35 views
0

如何使这个代码在文本框下搜索任何字段?现在它只会返回一个结果,如果所有的字段完全匹配? 在此先感谢!如何使此搜索任何字段?

Private Sub Button1_Click_2(sender As Object, e As EventArgs) Handles Button1.Click 
    cmd = New SqlCommand 
    cmd.Connection = cn 
    cmd.CommandText = "Select * from [Case Managers] " & _ 
      "where firstname like '%" & Me.txtfirstname.Text & "%' " & 
      "or " & _ 
      "lastname like '%" & Me.txtlastname.Text & "%' " & _ 
      "or " & _ 
      "credentials like '%" & Me.txtCredentials.Text & "%'" & _ 
      "or " & _ 
      "active like '%" & Me.cboActive.Text & "%'" 
    dr = cmd.ExecuteReader 

    Me.ListView1.Items.Clear() 
    While dr.Read 
     With Me.ListView1 
      .Items.Add(dr(0)) 
      With .Items(.Items.Count - 1).SubItems 
       .Add(dr(1)) 
       .Add(dr(2)) 
       .Add(dr(3)) 
       .Add(If(dr(4) = 0, "No", "Yes")) 
      End With 
     End With 
    End While 
    dr.Close() 
End Sub 

末级

+0

我正在根据你的问题寻找'AND',但是我找到了'OR'。这看起来应该工作... – djv 2014-09-18 21:54:32

+1

您的查询有很多问题,但肯定不是你提到的那个(真正的问题是Sql注入,名称带引号,全局连接变量,连接在查询结束时未关闭) – Steve 2014-09-18 22:02:17

+0

这里是FUll代码如果有人想看到它或为我清理它:) http://expirebox.com/download/11660e0456252c6411268f78dab7e891.html – InFeKtId 2014-09-18 22:12:35

回答

0

您可以使用OR: WHERE field1的喜欢或= whatever1或场像或等于whatever2 ...

http://www.sqlservercentral.com/Forums/Topic750935-338-1.aspx

,或者您可以使用CONCAT :连接字段的结果,并执行类似操作:

search a whole table in mySQL for a string

+0

这是用于MS SQL 2008 R2不是MySQL? – InFeKtId 2014-09-19 16:14:48

+0

第一个链接(OR)用于SQL。我不喜欢为串联添加mySQL的链接;这里是SQL链接:http://msdn.microsoft.com/en-us/library/hh231515.aspx ...所以:它是如何工作的? – 2014-09-19 17:52:40