<分区>
我希望这是问的正确位置,parameters.addwithvalue
是如何工作的?我在想一种防止 SQL 注入(inject)的方法?我在 Stackoverflow 上看了很多,很多人说“//反对 sql 注入(inject)”。我一直在盲目使用它,但现在我必须交一篇关于我的任务的论文,我需要解释为什么它是保护。我一直试图在 MSDN 上找到一些东西,找到了这个:
SQL injection但它使用了 parameters.add
。然后我读到他们将 .Add
替换为 .AddWithValue
,这是真的吗?有官方负责吗?
所以基本上,有人能更好地搜索一些可以防止 SQL 注入(inject)的官方文件吗?或者可以告诉我它是如何工作的吗?
我不是想让你做我的工作,我只是找不到我自己。
我是这样使用它的:
using (SqlConnection conn = new SqlConnection(connectionString))
using (var cmd = conn.CreateCommand())
{
conn.Open();
String queryString = "DELETE FROM dbo.SecurityAccess WHERE Username = ' @Username ";
cmd.CommandText = queryString;
cmd.Parameters.AddWithValue("@Username", Username);
cmd.ExecuteNonQuery();
}