Попытка получить данные из базы данных sql: что вводить в текстовое поле

У меня есть текстовое поле с именем txtitemcode, когда я txtitemcode код элемента в текстовое поле, я хочу отображать соответствующие данные в виде сетки или текстовых полей.

Но он не уволил код, я не знаю, где я ошибаюсь, я ищу в Google и сохраняю изменения в кодах, в конце концов, у меня все еще не работает. Я вставляю свой код здесь.

Public Sub SelectItem(ByVal ItemCode As String)
 Try
 sql.OpenDbConnection()
 Dim strSQL As String = "SELECT ItemCode as 'Item Code',ItemName as 'Item Name' FROM ************* where ItemCode='ItemCode'"
 'SqlConn.Close()
 Dim da As New SqlDataAdapter(strSQL, sql.SqlConn)
 Dim ds As New DataSet
 da.Fill(ds, "*************")
 dgvPurchaseOrder.DataSource = ds.Tables("*************")
 sql.SqlConn.Close()
 Catch ex As SqlException
 MsgBox(ex.Message, MsgBoxStyle.Critical, "SQL Error")
 Catch ex As Exception
 MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
 End Try
 End Sub

Я вызываю этот класс из текста lostfocus, щелкают и некоторые из сомнительных событий, не повезло..

1 ответ

Вы не передаете параметр правильно. Попробуй это:

Dim strSQL As String = "SELECT ItemCode 'Item Code',ItemName 'Item Name' " & _
 " FROM ************* where ItemCode= @ItemCode"
Dim cmd As New SqlCommand(strSQL, sql.SqlConn)
Dim ds As New DataSet

cmd.Parameters.AddWithValue("ItemCode", ItemCode)

Dim da As New SqlDataAdapter(cmd)
da.Fill(ds, "*************")

Взгляните на документацию MSDN об этом.

licensed under cc by-sa 3.0 with attribution.