提问人:user6097989 提问时间:4/12/2016 最后编辑:Mafiiuser6097989 更新时间:4/12/2016 访问量:263
c# - 参数化查询
c# - Parametrized Query
问:
我正在开发一个 .net 网站,该网站使用使用 Insert/Update 和 Select Queries 的 DB2 数据库。我研究了 SQL 注入,我相信我已经参数化了我的查询以避免 SQL 注入。你能检查一下我是否做对了吗,有没有更好或更充分的方法?
strInsert = "INSERT INTO DATABASE.Table(NUMBER,SIGNATURE,MESSAGE,CDATE,CTIME) VALUES (?,?,?,?,?)";
DB2Command cmdInsertQuery = new DB2Command(strInsert, db2Connection1);
cmdInsertQuery.Parameters.Add("NUMBER", i);
cmdInsertQuery.Parameters.Add("SIGNATURE", strSignature.Trim());
cmdInsertQuery.Parameters.Add("MESSAGE", strMessage.Trim());
cmdInsertQuery.Parameters.Add("CDATE", DateTime.Now.ToShortDateString());
cmdInsertQuery.Parameters.Add("CTIME", DateTime.Now.ToShortTimeString());
cmdInsertQuery.ExecuteNonQuery();
查询正确插入数据并正常工作。
答:
0赞
Kunal
4/12/2016
#1
是的,你做对了。很高兴知道您知道 SQL 注入问题并尝试消除它的方法。
0赞
Francesco Ventura
4/12/2016
#2
add 已弃用 addWithValue,它仍然几乎与 Add 做同样的事情,但我的 Visual Studio 总是为此哭泣
例
string insertStatement =
"Insert Login VALUES(@username,@password,@publicKey,@privateKey,@salt)";
SqlCommand insertCommand = new SqlCommand(insertStatement, connection);
insertCommand.Parameters.AddWithValue("@username", username);
评论
0赞
Adam Calvet Bohl
8/1/2018
Add
比 更安全。请参阅:blogs.msmvps.com/jcoehoorn/blog/2014/05/12/...AddWithValue
0赞
Ali
4/12/2016
#3
有没有更好或更充分的方法?
评论