1. 程式人生 > >普通填報表 只對使用者修改行更新建立人編號

普通填報表 只對使用者修改行更新建立人編號

具體需求:
普通填報表  要求頁面上修改了那行資料,那麼就將從外部接收到的建立人編號 更新到資料庫中對應修改行的指定欄位中

難點:
如果在 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
來源:乾學院
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。