普通填報表 只對使用者修改行更新建立人編號
阿新 • • 發佈:2018-11-26
具體需求:
普通填報表 要求頁面上修改了那行資料,那麼就將從外部接收到的建立人編號 更新到資料庫中對應修改行的指定欄位中
難點:
如果在 update 中直接指定修改 會將所有記錄均修改,指令碼如下:
[email protected](employee:employee_old, 員工表, 編號, 部門, 姓名:aa, 性別, 出生日期, 入職日期, 籍貫, 工資; 編號)
這樣就與客戶想要實現的效果不太一樣。
解決思路:
在執行 update 前 對要更新的資料提前處理,大致思路是通過對比新舊物件的記錄來實現,如果新舊物件不同,則在新物件中保留不同的記錄供後面更新使用,如果新舊物件一致則不參與執行更新,以此達到客戶想要的部分更新效果
以填報教程示例 2.1.sht 為例 資料來源指令碼不做任何修改,資料去向指令碼修改如下:
指令碼部分註釋:
B1 C1 指明新舊物件參與比較的欄位名稱;
2-3 行 使用 for 迴圈 對比新舊物件記錄並從 employee 中刪除新舊物件中相同的記錄
A5 中 aa 為模擬外部傳入的建立人 showInput.jsp 定義如下:
按照如上操作即可實現部分更新
通過上述效果可以看到僅將修改行的姓名更換為了建立人編號
作者:IBelieve
連結:http://c.raqsoft.com.cn/article/1534743023962
來源:乾學院
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。