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);
      }

     郁闷...

    多思考,多创新,才是正道!
  • 相关阅读:
    SQL UNION 和 UNION ALL 操作符
    JavaScript--验证码随机生成
    C#基础 out和ref
    远程连接身份验证错误,又找不到加密Oracle修正
    ASP.Net WebAPI -- 简单实现增删改查
    SpringBoot发送邮箱验证码
    VMware虚拟机安装Linux系统详细教程
    SpringBoot实现登陆拦截
    JavaScript 实例、构造函数、原型对象关系图
    JavaScript创建对象的几种方式总结
  • 原文地址:https://www.cnblogs.com/shuang121/p/1970927.html
Copyright © 2011-2022 走看看