【问题标题】:How to let the user enter the value into the query 'Visual Studio 2012' & 'SQL server'如何让用户在查询“Visual Studio 2012”和“SQL server”中输入值
【发布时间】:2012-01-16 00:03:06
【问题描述】:

我是 Visual Studio 的新手,我想让用户在查询中输入一个值

即搜索我将使用的员工

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

我已经连接了数据库 我知道我可以从文本框中获取值,但我真的不知道如何将该值直接放入查询中并立即调用它

【问题讨论】:

  • 你试过什么?你可以发布你的代码吗?试试这个顺便说一句。 "Select * From Employee Where ID = "+TextBox1.Text;
  • @sh4nx0r 不好的建议,允许 SQL 注入。使用参数化查询。

标签: sql sql-server database visual-studio-2010 sql-server-2012


【解决方案1】:

参数化比较简单。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2013-07-03
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    相关资源
    最近更新 更多