中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據修改時如何留痕

發布時間:2020-08-11 07:50:05 來源:ITPUB博客 閱讀:258 作者:rqgxy 欄目:編程語言

【摘要】

在食品生產安全中現在提倡產地的可追溯性,同樣在數據安全方面同樣有相應的要求,要記錄什么人對哪些數據做了修改操作,這樣就要求業務人員錄入、修改數據時能夠將該人員信息一同保存下來,方便數據的可追溯,點擊 數據填報修改時如何增加操作人員信息 查看具體方法

需求描述:

用戶在頁面端修改數據時為保證數據的可追溯性,可以在數據表中增加修改人字段,用于保存修改人的信息,追溯數據的有效性。下面就介紹一下如何實現這個需求。

解決方案

一:填報表制作

按照用戶的需求制作填報表,如“訂單信息表”:

1、 新建填報表,新增參數:userid,用于接收系統傳進來的用戶信息。

2、 在“數據處理”對話框中把“數據來源”設置為使用“腳本”方式,如圖:

數據修改時如何留痕

3、 在“數據處理”對話框中把“數據去向”也設置為使用“腳本”,如圖:

數據修改時如何留痕

注意:B2 中 EDITUSER 字段為數據庫中的修改人字段,將其賦值為 userid,表示更新時將參數 userid 的值保存到對應字段中。

4、 制作填報表,如下圖:

數據修改時如何留痕

A3 設置單元格類型為維度格,表達式為 =dd.(DDID),dd 為數據來源中定義的數據對象名稱,此單元格取表中 DDID 的值,字段名稱中設置 dd.DDID。

B3~E3 單元格類型設置成數值格,用于填寫信息,按照填報表取字段名稱規則,B3 單元格默認取其上方單元格為字段名稱,由于數據庫中存儲的是英文字段名“KHID”,和 B2 中的“客戶編號”不一致,所以為取出正確數據,在 B3 單元格的字段名稱中設置“KHID”,指定單元格字段名稱,其余類似。

按照客戶樣式要求調整報表樣式,并保存報表即可。

5、 發布報表并設置參數傳遞

在瀏覽器中訪問該報表,并且在 url 中將用戶編號傳遞給參數 userid,如: http://localhost:6868/demo/reportJsp/showInput.jsp?sht=ddxx.sht&userid=zhangsan

參數可以在 url 中傳遞,為保證其安全性,用戶信息可能存在 session 中,那么在 showInput.jsp 中獲取 session 中的用戶信息,并傳遞給報表標簽的 params 標簽即可,傳遞格式:參數名稱 = 參數值。

報表展現后,格式如下:

數據修改時如何留痕

頁面端修改數據保存后,去數據庫端查看數據發現,EDITUSER 字段數據為傳入的用戶信息,如下圖:

數據修改時如何留痕

發現問題

實際使用中發現,用戶可能只修改了某幾條記錄,但是數據庫中的 EDITUSER 字段的所有數據都會發生變化,而用戶需求肯定是只更改該用戶修改的數據。

問題原因及解決辦法:

前面更新數據采用的是集算腳本中的 update 函數,該函數處理時會根據新舊對象數據進行判斷,從而判定處理時是 update、insert 還是 delete 操作。因此解決辦法就是在新舊對象中刪除沒有修改的數據即可,下面是更改后的數據去向腳本:

數據修改時如何留痕

B1 中通過 join 函數將兩個對象關聯在一起,此時關聯字段是對象中的所有字段,這樣可以找到沒有修改的數據。

C1 中取出兩個對象中所有數據相同 (沒有修改的) 的主鍵字段

A2、B2 中分別從兩個對象中根據 C1 的值過濾出沒有修改的數據

A3、B3 刪除沒有修改的數據,這樣兩個對象中的數據均為用戶頁面端修改后的數據,再執行 update 操作即可。數據庫中數據如下:

數據修改時如何留痕

可見,只有頁面端修改的數據 EDITUSER 字段的值會發生變化,其余不變,這樣就可以定位到具體哪些數據被哪些人做了修改。

總結:

本例中通過在腳本中對填報對象的數據進行修改,做到了在相應數據表中更新最后修改人字段,并且能精確到他修改的數據。實際應用中也可以增加最后修改時間等,或者在腳本中做更復雜的業務處理。


詳情鏈接: http://c.raqsoft.com.cn/article/1540825011256


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南丰县| 柳州市| 赤水市| 平邑县| 石台县| 唐山市| 宣汉县| 鸡东县| 温宿县| 扎囊县| 西丰县| 琼结县| 连云港市| 灵川县| 轮台县| 洪泽县| 绵阳市| 万全县| 孝感市| 攀枝花市| 浑源县| 福建省| 太康县| 莲花县| 长沙县| 淮滨县| 四子王旗| 新民市| 陇川县| 扎囊县| 太和县| 阿尔山市| 平塘县| 湖南省| 塘沽区| 溆浦县| 皮山县| 滨州市| 平谷区| 松滋市| 乐都县|