中文 | English | 帮助中心

业务咨询热线:

新闻中心
  • 公司新闻
  • 常见问题
当前位置:首页>>新闻中心新闻中心
Access用OleDbParameter无法更新数据解决方案

2011/4/5 11:34:51     (被阅读7533次)

Access数据库采用OleDbParameter的方式无法更新数据,但是插入和删除数据都是OK的。在Access中,OleDbParameter[] parameters = {}数组里面参数的顺序一定要和Update语句里面的参数的顺序一致,否则,无法更新。

例如:

///


  /// 更新一条数据
  ///

  public void Update(ZPY.Model.News model)
  {
   StringBuilder strSql=new StringBuilder();
   strSql.Append("update News set ");
   strSql.Append("NewsTitle=@NewsTitle,");
   strSql.Append("NewsContent=@NewsContent,");
   strSql.Append("NewsFrom=@NewsFrom,");
   strSql.Append("NewsTime=@NewsTime,");
   strSql.Append("AddMan=@AddMan");
   strSql.Append(" where ID=@ID ");
   OleDbParameter[] parameters = {
     // 注意里面参数的顺利一定要和Update语句里面参数是顺序一致,比如Update语句里面第一个参数

// 是@NewTitle,这里也是,Update语句里面最后一个参数是@ID,这样最后一个参数一定要是@ID
     new OleDbParameter("@NewsTitle", OleDbType.VarChar,100),
     new OleDbParameter("@NewsContent", OleDbType.VarChar,0),
     new OleDbParameter("@NewsFrom", OleDbType.VarChar,50),
     new OleDbParameter("@NewsTime", OleDbType.Date),
     new OleDbParameter("@AddMan", OleDbType.VarChar,50),
     new OleDbParameter("@ID", OleDbType.Integer,4),
            };
  
   parameters[0].Value = model.NewsTitle;
   parameters[1].Value = model.NewsContent;
   parameters[2].Value = model.NewsFrom;
   parameters[3].Value = model.NewsTime;
   parameters[4].Value = model.AddMan;
   parameters[5].Value = model.ID;

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

 

分享到:

 

关于我们 | 诚聘英才 | 商务合作 | 常见问题 | 联系我们 | 友情链接 | 意见反馈