KyKiske22 2016-08-01 05:04 采纳率: 0%
浏览 1370
已结题

求助!为什么update时提示错误“@Id必须声明标量变量

源码如下:

    Dao层 SqlHelper.cs:
 public class SqlHelper
    {
         public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
    {
        String connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
        SqlConnection conn = new SqlConnection(connStr);
        conn.Open();
        SqlCommand cmd = conn.CreateCommand();
        cmd.CommandText = sql;
        foreach (SqlParameter parameter in parameters)
        {
            cmd.Parameters.Add(parameter);
        }
        return cmd.ExecuteNonQuery();
    }
}



         服务层 Service.cs   :
          public static int dataUpdate(int i,params Object[] o)
            {
        String strsql = "Update Device set TName = @TName Where Id = @Id ";
        SqlHelper.ExecuteNonQuery(strsql,
           new SqlParameter("@Id", i),
           new SqlParameter("@TName", o[0]));
        int result = SqlHelper.ExecuteNonQuery(strsql);
        return result;
    }

        主窗体按钮:
        private void btnUpdate_Click(object sender, EventArgs e)
    {
        MessageBox.Show(pdtp.Value.ToString("yyyy/MM/dd"));
        Service.dataUpdate(
            Convert.ToInt32(textBox1.Text),
            NameText.Text
            );
}
服务层的内容使用Insert就没问题,为什么update就报错了?
  • 写回答

3条回答 默认 最新

  • threenewbee 2016-08-01 05:55
    关注

    检查下字段类型是否匹配,id是整数么?另外查询的id对应的记录是否存在。

    评论

报告相同问题?

悬赏问题

  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝