如何切换到参数化编码方式

时间:2014-03-02 10:18:58

标签: sql-server vb.net

我一直在vb.net中使用直接SQL查询在我的上一个项目中进行插入,更新和删除,我发现直接查询存在很多问题,所以我最终决定切换到参数化的查询方式,是更安全的编码方式。以下是我在我的程序中使用的内容,我现在已经退出并尝试完全采用参数化的查询方式。

我如何使用直接查询进行编程如下: 我有一个模块,其中我有插入,更新和删除功能,它们从所有形式的应用程序接收值并处理它并返回数据。这是我的模块代码:

#Region "Insertion"
''' <summary>
''' Simple Insert Function
''' </summary>
''' <param name="tblName"></param>
''' <param name="columns"></param>
''' <param name="parameters"></param>
''' <remarks></remarks>
''' 
Public Sub Insert(ByVal tblName As String, ByVal columns As String, ByVal parameters As String)
    Try
        cmdSql1.CommandText = "insert into " & tblName & "(" & columns & ") values (" & parameters & ")"
        cmdSql1.Connection = Connect()
        cmdSql1.ExecuteNonQuery()

    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
#End Region

我从表单发送的数据如下所示,将tblName,Columns和Parameters作为字符串输入到三个组中(“tblName”,“Columns”,“Parameters”)。

            Insert("CustomerInfo", "CustomerName, CustomerAddress, CustomerContact", "'" & txtCustName.Text.Trim & "','" & txtCustAddress.Text.Trim & "'," & txtCustContact.Text.Trim & "")
        MessageBox.Show("Customer Addedd Successfully")

        txtCustName.Clear()
        txtCustAddress.Clear()
        txtCustContact.Clear()
        txtCustName.Focus()

同样的情况是模块等的选择和更新查询。

现在我想用参数化的方式开始我的新项目,但是如何以参数化方式完成所有这些。 Pleassseee指导我如何让sql注入方式返回并加入参数化的。

0 个答案:

没有答案