永发信息网

c# 参数化查询为何报错??

答案:2  悬赏:0  手机版
解决时间 2021-02-04 01:01
  • 提问者网友:我的未来我做主
  • 2021-02-03 06:15
StringBuilder strSql = new StringBuilder();
strSql.Append("Update Card set Mark=@Mark,O_Id=@O_Idwhere Id=@Id");
SqlParameter[] parameters = {
new SqlParameter("@Mark", SqlDbType.Bit),
new SqlParameter("@O_Id", SqlDbType.NVarChar,50),
new SqlParameter("@Id", SqlDbType.Int)
};
parameters[0].Value = model.Mark;
parameters[1].Value = model.O_Id;
parameters[2].Value = model.Id;
int rows = _DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return 1;
}
else
{
return 0;
}

报错
参数化查询。。。set '需要参数‘@Id' 但未提供参数
最佳答案
  • 五星知识达人网友:七十二街
  • 2021-02-03 07:08
SqlParameter[] parameters = {
                       new SqlParameter("@Mark", SqlDbType.Bit),            
                       new SqlParameter("@O_Id", SqlDbType.NVarChar,50),
                       new SqlParameter("@Id", SqlDbType.Int)
           };
           parameters[0].Value = model.Mark;
           parameters[1].Value = model.O_Id;
           parameters[2].Value = model.Id;
改成
SqlParameter[] parameters = {
                       new SqlParameter("@Mark", model.Mark),            
                       new SqlParameter("@O_Id", model.O_Id),
                       new SqlParameter("@Id", model.Id)
           };
全部回答
  • 1楼网友:渊鱼
  • 2021-02-03 08:36
参数化查询对于那个@符号我也遇到过类似的问题 你试试这样可不可以解决(我没试过) select * from tablename where name like @name sqlparameter sp = new sqlparameter("@name","%"+变量+"%");
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯