update access數據庫時,使用了參數化的方式,結果不報錯,可是數據也沒有更新。後來發現access使用參數化時,參數位置必須和賦值順序相同才行,不然更新時就會出現數據沒法更新可是也不報錯的怪現象。
例如:update tablename set [a]=@a1,[b]=@a2 where [id]=@a3
那麼你在加參數時,也必須先加@a,再加@b,最後加@id.也就是說必需要
cmd.Parameters.AddWithValue(「@a1」,a);sql
cmd.Parameters.AddWithValue(「@a2」,b);數據庫
cmd.Parameters.AddWithValue(「@a3」,id);spa
順序若是錯了,就沒法更新了。這一點和sql server不同。在sql server中,沒必要關心參數增長的順序。
由於access在update時參數錯位不會報bug,只是不更新,因此這一點在寫程序時必定要注意server