【发布时间】:2012-11-28 07:44:07
【问题描述】:
所以我最近了解到我绝对应该使用参数化查询来避免 SQL 注入等安全问题。这一切都很好,我得到了它的工作。
这段代码展示了我如何做的一些代码:
param1 = new SqlParameter();
param1.ParameterName = "@username";
param1.Value = username.Text;
cmd = new SqlCommand(str, sqlConn);
cmd.Parameters.Add(param1);
//and so on
但问题是,我有超过 14 个变量需要保存到数据库中,这就像一个注册表单。如果我必须写 14 次这些行来参数化每个变量,它看起来会非常混乱。有没有更动态的方式来做到这一点?就像使用 for 循环或其他东西并以某种方式对循环中的每个变量进行参数化?
【问题讨论】:
-
您可以使用反射从对象的属性名称创建参数名称,当然如果sql参数名称与对象的属性名称相同。
标签: c# asp.net sql parameterized