今天update access數據庫時,使用了參數化的方式,結果不報錯,但是數據也沒有更新。後來發現access使用參數化時,參數位置必須和賦值順序相同才行,否則更新時就會出現數據無法更新但是也不報錯的怪現象。
例如:update tablename set [a]=@a1,[b]=@a2 where [id]=@a3
那麼你在加參數時,也必須先加@a,再加@b,最後加@id.也就是說必須要
cmd.Parameters.AddWithValue(“@a1”,a);
cmd.Parameters.AddWithValue(“@a2”,b);
cmd.Parameters.AddWithValue(“@a3”,id);
順序如果錯了,就無法更新了。這一點和sql server不一樣。在sql server中,不必關心參數增加的順序。
因為access在update時參數錯位不會報bug,只是不更新,所以這一點在寫程序時一定要注意。
摘自 IT愛好者客棧