向 ADO.NET 命令添加参数
构建修改数据的 ADO.NET 命令时,利用参数来防止 SQL 至关重要注入攻击并提高性能。请考虑以下示例代码:
SqlCommand command = new SqlCommand("INSERT INTO Product_table Values(@Product_Name,@Product_Price,@Product_Profit,@p)", connect);
此代码尝试使用参数将值插入到数据库表中。但是,它没有正确定义参数。
解决方案:
正确的方法是显式定义每个参数的名称、数据类型和值,如下如下:
SqlCommand cmd = new SqlCommand("INSERT INTO Product_table (Product_Name, Product_Price, Product_Profit, p) " + "Values (@Product_Name, @Product_Price, @Product_Profit, @p)", connect); cmd.Parameters.Add("@Product_Name", SqlDbType.NVarChar, ProductNameSizeHere).Value = txtProductName.Text; cmd.Parameters.Add("@Product_Price", SqlDbType.Int).Value = txtProductPrice.Text; cmd.Parameters.Add("@Product_Profit", SqlDbType.Int).Value = txtProductProfit.Text; cmd.Parameters.Add("@p", SqlDbType.NVarChar, PSizeHere).Value = txtP.Text; cmd.ExecuteNonQuery();
附加注意事项:
以上是如何安全地向 ADO.NET 命令添加参数以防止 SQL 注入?的详细内容。更多信息请关注PHP中文网其他相关文章!