新建一個數據窗口----選擇需要更新的表,或者直接寫sql也可以
如下圖已經建立好的數據窗口,根據要求將需要更新的列、unigue key 還有需要更新的表設置好,
【將需要更新列的taborder設置大于0 這樣維護的時候可以編輯(等于0是不能編輯的),
在窗口打開增加
dw_1.setTransobject(sqlca)//設置事物 dw_1.retrieve()//獲取數據 增加代碼(數據窗口為dw_1) int li_row li_row = dw_1.insertrow(0) dw_1.SetFocus() dw_1.ScrollToRow(li_row) dw_1.selectrow(0,false) dw_1.selectrow(li_row,true) dw_1.SetColumn(1)
?
保存按鈕
dw_1.accepttext()//這個是必須的 接受所有更改 if dw_1.ModifiedCount() < 1 then return//也可以加上刪除的條數DeletedCount() if dw_1.update() = -1 then rollback; messagebox('提示信息','保存有誤!') else commit; messagebox('提示信息','保存成功!') end if
?
刪除按鈕
integer net, ll_row// 提示信息:"要刪除此記錄嗎?" NET=messagebox(f_getmessage("xt000005"),f_getmessage("ctl00004"),Exclamation!,YESNO!) IF net=1 THEN ll_row=dw_1.getselectedrow(0)//獲取選中記錄 可以用getrow() 取得選中行,如果有taborder=0的可能導致取數錯誤 dw_1.DeleteRow (ll_row) IF dw_1.update()= -1 THENROLLBACK; IF dw_1.RowsMove(1, 1, delete!, dw_1, ll_row, primary!) = 1 THEN // Set focus to the row that was "restored" dw_1.SetFocus() dw_1.ScrollToRow(ll_row) END IF ELSE COMMIT; END IF ELSEdw_1.SetFocus() END IF
?