【问题标题】:VB.Net Parameterized LIKE queryVB.Net 参数化 LIKE 查询
【发布时间】:2014-09-29 12:43:29
【问题描述】:

我正在编写一个代码,该代码将使用 zone-rate-customer_number 格式过滤帐号。例如 125-12-35,其中 125 是区域,12 是费率,35 是客户编号。在我的搜索文本框中,我想输入区域和客户编号,这将排除费率。这是我的代码

        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)

我怎样才能仅使用区域和客户编号在我的表格中进行搜索?

【问题讨论】:

    标签: vb.net ms-access sql-like


    【解决方案1】:

    首先,您应该分别收集“zone”和“customer_number”(例如,在单独的文本框中)。然后您可以使用

    进行 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      相关资源
      最近更新 更多