zoukankan      html  css  js  c++  java
  • 奇怪了...

    今天做项目的时候,有一个修改的功能没实现,也没报错,查了半天,也不知道哪里出了问题,最后发现原来参数的顺序也很重要,奇怪了...,看看下面的代码

    public void Update(Maticsoft.Model.Anli model)
      {
       StringBuilder strSql=new StringBuilder();
       strSql.Append("update CN_Anli set ");
       strSql.Append("title=@title,");
       strSql.Append("photo=@photo,");
       strSql.Append("links=@links,");
       strSql.Append("content=@content");
       strSql.Append(" where id=@id ");
                OleDbParameter[] parameters = {
         new OleDbParameter("@id", OleDbType.Integer,4),
         new OleDbParameter("@title", OleDbType.VarChar,200),
         new OleDbParameter("@photo", OleDbType.VarChar,200),
         new OleDbParameter("@links", OleDbType.VarChar,200),
         new OleDbParameter("@content", OleDbType.VarChar,0)};
       
       parameters[0].Value = model.id;
       parameters[1].Value = model.title;
       parameters[2].Value = model.photo;
       parameters[3].Value = model.links;
       parameters[4].Value = model.content;

       DbHelperOleDb.ExecuteSql(strSql.ToString(),parameters);
      }

    这样写竟然不行,原因是id比较放在最后,即:

    public void Update(Maticsoft.Model.Anli model)
      {
       StringBuilder strSql=new StringBuilder();
       strSql.Append("update CN_Anli set ");
       strSql.Append("title=@title,");
       strSql.Append("photo=@photo,");
       strSql.Append("links=@links,");
       strSql.Append("content=@content");
       strSql.Append(" where id=@id ");
                OleDbParameter[] parameters = {
         
         new OleDbParameter("@title", OleDbType.VarChar,200),
         new OleDbParameter("@photo", OleDbType.VarChar,200),
         new OleDbParameter("@links", OleDbType.VarChar,200),
         new OleDbParameter("@content", OleDbType.VarChar,0),
                        new OleDbParameter("@id", OleDbType.Integer,4)};
       parameters[0].Value = model.title;
       parameters[1].Value = model.photo;
       parameters[2].Value = model.links;
       parameters[3].Value = model.content;
                parameters[4].Value = model.id;

       DbHelperOleDb.ExecuteSql(strSql.ToString(),parameters);
      }

     郁闷...

    多思考,多创新,才是正道!
  • 相关阅读:
    调整数组顺序使奇数位于偶数前面
    网站远程附件存储到 OSS
    平滑升级mariadb
    在Apache服务器上安装SSL证书
    复试-英语
    部署博客(docker)
    远程连接Windows
    Ultimate SLAM?利用事件相机解锁高速运动、高动态范围场景
    LRNNet:轻量级FCB& SVN实时语义分割
    3D目标检测深度学习方法中voxel-represetnation内容综述(三)
  • 原文地址:https://www.cnblogs.com/shuang121/p/1970927.html
Copyright © 2011-2022 走看看