我有一个图书馆系统数据库。我想包括一个搜索框,可以在其中搜索书名。我正在使用sql server。我知道如何使用LIKE%''%子句编写sql语句,但问题是我将此sql语句编写在单独的文件中,并将其包含在vb.net的sub方法中。如何使该语句使用在文本框中输入的文本?
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim str As String = ("Data Source=.\INSTANCE;initial catalog=example;user=sa;password=gariahat")
Dim con As New SqlConnection(str)
Dim cmd As New SqlCommand("select * from item where book_id like '%" + Trim(TextBox1.Text) + "%'", con)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet()
If (da.Fill(ds, "item")) Then
ItemDataGridView.DataSource = ds.Tables(0)
MessageBox.Show("match found")
Else
MessageBox.Show("match not found")
End If
End Sub
我知道如果我将sql语句包括在子程序本身中,则该子程序将起作用。但是我使用qualer存储我的sql存储过程,并在我的子目录中使用这些文件,该文件不接受'textbox.text'。
示例:
Public Shared Sub AccountDeposit(ByVal value As Integer, ByVal AccountNumber As String, ByVal connection As SqlConnection)
Dim cmd As New SqlCommand("AccountDeposit", connection)
cmd.CommandType = Data.CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@AccountNumber", AccountNumber)
cmd.Parameters.AddWithValue("@Value", value)
cmd.ExecuteNonQuery()
End Sub
“ AccountDeposit”是我存储在sub中的存储过程。我想在这里做类似的事情,但不知道如何将文本框中的文本包括到sql语句中