2014-09-29 2 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

먼저 "구역"과 "고객 _ 번호"를 따로 (예 : 별도의 입력란에) 수집해야합니다. 그렇다면 LIKE 검색을 할 수 있습니다.

' 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 
관련 문제