access 資料更新update

2021-10-02 05:38:30 字數 1620 閱讀 3495

(1)單錶內字段更新

update pipeline set state='0' where address='33'

(2)兩個表間關聯更新

在access資料庫中,update指令不能夠含有from語句。因此在多表關聯批量更新資料時操作不是那麼方便。

update table1 as  t1,table2  as t2 set t1.name=t2.name where t1.id=t2.id ;

用where語句不好使的情況下,可以使用inner join 語句。

update table1 t1 inner join table2 t2 on t1.id=t2.id set t1.name=t2.name;

(3)單錶內帶分支條件的更新

update 表 set a = (case when b=滿足一定的條件 then '111' else '222' end)

update smdtv_632 set symbolid= (case when subsid='檢查井' then '908008' when subsid='雨水口' then '908013' end )

update smdtv_632 set symbolid= (case when subsid='檢查井' then '908008' when subsid='雨水口' then '908013'  else '0' end )

當 s_x>e_x時,tmp1取(s_lat,e_lat)的最大值,反之,s_xe_x then (case when s_lat(4)兩表內帶分支條件的更新

update a set a=case when b.***='***' then '111' else '222' end from a join b on a.id=b.id

(5)帶判斷條件的更新

update psline set code= iif(type='psys',"4000",iif(type='psws',"4100","4200"))

(6)資料為空時,給資料設定預設值

update psline t set t.s_deep = '1' where t.s_deep is null

(7)大量資料更新時,用datatable 更新整個access資料表

public void updateaccess( datatable temp, string tablename)

where 1 =2", tablename), dconn);//建立乙個dataadapter物件

oledbcommandbuilder cb = new oledbcommandbuilder(bada);//這裡的commandbuilder物件一定不要忘了,一般就是寫在dataadapter定義的後面

cb.quoteprefix = "[";

cb.quotesuffix = "]";

dataset ds = new dataset();//建立dataset物件

bada.fill(ds, "demo");//填充dataset

foreach (datarow temprow in temp.rows)

bada.update(ds, "demo");//用dataadapter的update()方法進行資料庫的更新

}

C 查詢更新ACCESS資料

初始化 testitemsdataset.tables.clear testitemsdataset.tables.add testitemsdataset.tables 0 columns.add acu testitemsdataset.tables 0 columns.add test nam...

access資料庫更新問題

今天update access資料庫時,使用了引數化的方式,結果不報錯,但是資料也沒有更新。這問題搞了我好長時間,鬱悶,經過google發現access使用引數化時,引數位置必須和賦值順序相同才行,否則更新時就會出現資料無法更新但是也不報錯的怪現象。例如 update tablename set a...

Access資料庫不能寫不能更新的解決方法

access資料庫不能寫,造成這種問題的原因是web共享資料夾在ntfs分割槽裡,而iusr internet來賓帳戶 沒有足夠許可權。解決方法 1.在資料夾選項裡,將 使用簡單檔案共享 前的對勾去掉。2.在web共享資料夾屬性裡面的安全選項卡中點新增。3.在選擇使用者或組的對話方塊中點高階。4.點...