关于参数化查询疑问。。。。
数据库:Access
如果换参数化查询就不可以。。。例如@参数名...?...
直接拼字符串可以执行。。。。这是为什么呢? access asp.net --------------------编程问答-------------------- 你不会是这样传值的吧?
string sqlstr = "delete from message where mid in (@parm)";
@parm => 1,2,3,4,5,6,7
一个参数对应一个值哦。 --------------------编程问答--------------------
可以试试看! --------------------编程问答--------------------
这样用参数的话。。。就会报错。。。 --------------------编程问答--------------------
我的意思是说不要一参多值
- -,要不然就动态的拼接sql语句 --------------------编程问答-------------------- 参数化比如:
--------------------编程问答--------------------
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from User");
strSql.Append(" where UserID=@UserID");
SqlParameter[] parameters = {
new SqlParameter("@UserID", SqlDbType.BigInt)
};
parameters[0].Value = UserID;
return DbHelperSQL.Exists(strSql.ToString(), parameters);
不能一参多值?传参数时候有这样的规定? --------------------编程问答--------------------
我用的是where id in ()。。。。
所以该怎么传。。。 --------------------编程问答--------------------
如果一定要用参数,就得多少个值就提供多少个参数。 --------------------编程问答-------------------- In 不能参数化查询,或者你只能 in (@p1,@p2,@p3.....)
补充:.NET技术 , ASP.NET