2014-09-29 155 views
1

我正在編寫一個代碼,它將使用格式zone-rate-customer_number過濾帳號。其中一個例子是125-12-35,其中125是區域,12是費率,35是客戶編號。在我的搜索文本框中,我想輸入區域和客戶號碼,這會排除費率。這裏是我的代碼VB.Net參數化LIKE查詢

 Dim search As String = txtsearch.Text 
     Dim sql As String = "SELECT * FROM tblCustomer WHERE [account no] LIKE '%' + @search + '%'" 

     Dim cmd As OleDbCommand = New OleDbCommand() 
     cmd.Connection = Con 
     cmd.CommandType = CommandType.Text 
     cmd.CommandText = sql 
     cmd.Parameters.AddWithValue("[account no]", search) 

我怎樣才能夠在我的表中只使用區域和客戶號碼搜索?

回答

2

首先,您應該分別收集「區域」和「客戶編號」(例如,在單獨的文本框中)。然後你可以使用

' test data 
Dim zone As String = "125" 
Dim customer_number As String = "35" 

Using cmd As New OleDbCommand 
    cmd.Connection = con 
    cmd.CommandText = 
      "SELECT * FROM tblCustomer WHERE [account no] LIKE ?" 
    cmd.Parameters.AddWithValue("?", zone & "-%-" & customer_number) 
    Using rdr As OleDbDataReader = cmd.ExecuteReader 
     Do While rdr.Read 
      Console.WriteLine(rdr("account no")) 
     Loop 
    End Using 
End Using