具體需求:
普通填報表 要求頁面上修改了那行資料,那麼就將從外部接收到的建立人編號 更新到資料庫中對應修改行的指定欄位中
難點:如果在 update 中直接指定修改 會將所有記錄均修改,指令碼如下:
a1.update@uk(employee:employee_old, 員工表, 編號, 部門, 姓名:aa, 性別, 出生日期, 入職日期, 籍貫, 工資; 編號)解決思路:這樣就與客戶想要實現的效果不太一樣。
在執行 update 前 對要更新的資料提前處理,大致思路是通過對比新舊物件的記錄來實現,如果新舊物件不同,則在新物件中保留不同的記錄供後面更新使用,如果新舊物件一致則不參與執行更新,以此達到客戶想要的部分更新效果
以填報教程示例 2.1.sht 為例 資料**指令碼不做任何修改,資料去向指令碼修改如下:
指令碼部分注釋:
b1 c1 指明新舊物件參與比較的欄位名稱;
2-3 行 使用 for 迴圈 對比新舊物件記錄並從 employee 中刪除新舊物件中相同的記錄
a5 中 aa 為模擬外部傳入的建立人 showinput.jsp 定義如下:
按照如上操作即可實現部分更新
修改前展現效果
修改後未提交展現效果
提交更新後展現效果
通過上述效果可以看到僅將修改行的姓名更換為了建立人編號
普通填報表 只對使用者修改行更新建立人編號
具體需求 普通填報表 要求頁面上修改了那行資料,那麼就將從外部接收到的建立人編號 更新到資料庫中對應修改行的指定欄位中 難點 如果在 update 中直接指定修改 會將所有記錄均修改,指令碼如下 a1.update uk employee employee old,員工表,編號,部門,姓名 aa,性...
V5填報表只更新修改資料
潤幹v5填報儲存時是根據指令碼中的新舊物件進行判斷,然後通過update函式進行更新,目前是對裡邊的所有資料進行操作,也就是後所頁面中展現10條記錄,如果只修改一行的話,那麼儲存時10條就都會進行更新,一方面效率有些差,另外,有可能資料表中會有一些最後修改人等字段,只要求對該條資料修改的字段進行更新...
如何用日誌記錄VSS中的使用者修改行為
如何用日誌記錄vss中的使用者修改行為 可看到所人的進出vss的的記錄 check in add delete等 方法如下 1.在共享資料庫 含有 ini 檔案的目錄下建立乙個文字檔案 切記 可取名vsslog 2.進入vss admin 3.tool options,在log all action...