access2007 使用手記:Access用OleDbParameter無法更新數據

最近用做個小工具,採用access2007做數據庫,做好之後發現,更新數據總是不成功,但是也不報錯誤,鬱悶。。。。

後來在網上看到了一篇文章,讀完之後,恍然大悟。原來是忽略了一個小細節引起的。詳細如下。

我對acces數據庫的增刪查改操作都是通過OleDbParameter[] parameters = {}來指定參數的,這就是問題的所在,access數據庫要求OleDbParameter[] parameters = {}裏面的參數是順序是一定要按Update語句裏面變量的順序的,例如

StringBuilder strSql=new StringBuilder();
   strSql.Append("update t_YongHu set ");
   //strSql.Append("usrID=@usrID,");------------------------------------------注意這裏的順序①
   strSql.Append("usrXingMing=@usrXingMing,");
   strSql.Append("usrZhiWei=@usrZhiWei");
   strSql.Append(" where usrID=@usrID ");
   OleDbParameter[] parameters = {     ;----------------------------------------這裏的順序要和①處一致
     new OleDbParameter("@usrXingMing", OleDbType.VarChar,255),
     new OleDbParameter("@usrZhiWei", OleDbType.VarChar,255),
                    new OleDbParameter("@usrID", OleDbType.Integer,4)};
   parameters[2].Value = model.usrID;----------------------------------------這裏的順序也要和①處一致
   parameters[0].Value = model.usrXingMing;
   parameters[1].Value = model.usrZhiWei;

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

 

 

原文地址:http://blog.sina.com.cn/s/blog_489b85ed0100af24.html#comment

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章