Answers
ADO和PDO、JDBC一样并不提倡你直接用变量值拼接SQL,如下的写法是不被推荐的:
而是提倡另一种写法,写个C#写法:
string strSql = "select * from table where f = @f";
OleDbCommand cmd = new OleDbCommand(strSql,Conn);
cmd.Parameters.Add("@f", OleDbType.VarChar).Value = abc;
所以并不是使用ADO就杜绝了,而是ADO帮你完成SQL的拼接,在处理参数的过程中已经帮你进行了有效的过滤,如果仍然是手写的SQL,即便ADO也不能避免SQL注入
狂暴黑岩舒
answered 12 years, 11 months ago