Как разрешить пользователю вводить значение в запрос «Visual Studio 2012» и «SQL-сервер» - PullRequest
0 голосов
/ 16 января 2012

Я новичок в visual studio и хочу, чтобы пользователь ввел значение в запрос

т. Е. Поиск сотрудника, которого я буду использовать

Select * From Employee Where ID = (i want the user to enter the value here)

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

1 Ответ

1 голос
/ 01 февраля 2012

Параметризация относительно проста.

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    ExecuteSQL("Data Source=Server;Initial Catalog=Database;Persist Security Info=True;Integrated Security=True", _
               "Select * From Employee Where ID=@id",
               New SqlClient.SqlParameter("@id", 123))
End Sub

Public Function ExecuteSQL(ByVal Connection As String, _
                      ByVal SQL As String, _
                      ByRef Param As SqlClient.SqlParameter) As System.Data.DataTable
    Try
        Dim dt As System.Data.DataTable = Nothing
        Dim SqlRdr As SqlClient.SqlDataReader

        Using SqlConn As SqlClient.SqlConnection = New SqlClient.SqlConnection(Connection)
            Using SqlCmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(SQL, SqlConn)
                SqlCmd.CommandType = CommandType.Text
                SqlCmd.Parameters.Add(Param)
                SqlConn.Open()
                SqlRdr = SqlCmd.ExecuteReader()
                Try
                    If SqlRdr.IsClosed = False AndAlso SqlRdr.HasRows = True Then
                        dt = New System.Data.DataTable
                        dt.BeginLoadData()
                        dt.Load(SqlRdr)
                        dt.EndLoadData()
                    End If
                Finally
                    If SqlRdr IsNot Nothing Then
                        SqlRdr.Close()
                    End If
                End Try
            End Using
        End Using

        Return dt
    Catch ex As Exception
        Return Nothing
    End Try
End Function
...