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

溫馨提示×

溫馨提示×

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

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

如何通過腳本實現數據動態更新

發布時間:2020-08-06 22:55:20 來源:ITPUB博客 閱讀:139 作者:rqgxy 欄目:編程語言

在數據填報的場景中,常常會遇到根據條件動態更新數據的需求,例如:在條件 A 下將頁面所有數據插入到數據庫表中,而在條件 B 下則將頁面中做了修改的數據更新到數據庫表中。

遇到這種需求,腦海中的第一個想法就是:存儲過程更新、或者 java 代碼更新。不過,這兩種實現方式的工作量和后期維護卻實在讓人頭疼不已。那么,還有其他什么實現方式嗎?而且最好是能和報表完美整合到一起的那種….

這樣的美事兒,還真有!潤乾報表提供了腳本模式的填報表制作方式,通過腳本,可以實現你各種天馬行空想法。具體怎么操作呢?且聽我慢慢道來。

下面我們以動態更新 demo 庫中雇員表數據為例,當 type 參數的值為 1 時,將頁面中 employee 表的所有數據更新入庫;否則只將做了修改的 employee 記錄更新入庫。操作步驟如下:

第一步  制作行式填報

我們先使用行式填報制作向導制作一個簡單的行式填報表,如下圖所示:

如何通過腳本實現數據動態更新

小技巧

如果對采集規則不熟悉,那么可以對第二行每個單元格設置字段名稱:對象. 字段

第二步  定義參數

在填報–參數配置頁面中新增需要的參數,本文需要定義 type 參數作為數據更新處理方式判斷依據,如下圖所示:

如何通過腳本實現數據動態更新

第三步  修改腳本,實現動態更新數據處理

來源腳本為默認生成的腳本:

如何通過腳本實現數據動態更新

其中,

B2 的語句:>EMPLOYEE=A1.query(“SELECT EID,NAME,SURNAME,BIRTHDAY,HIREDATE from EMPLOYEE”)   從 demo 庫中查詢 employee 表的數據,并將結果寫到 employee 對象中

去向腳本修改為如下圖所示的內容:

如何通過腳本實現數據動態更新

動態更新數據時,需要用到 if 函數來動態判斷,這里著重講解下 if 的相關配置:

A2:if type==1  // 判斷是否滿足 type 參數值是 1 的條件

B3:>A1.update@ik(EMPLOYEE, 雇員, 雇員 ID:EID, 姓氏:NAME, 名字:SURNAME, 出生日期:BIRTHDAY, 雇用日期:HIREDATE ; 雇員 ID)  // 當滿足 if 條件時,將 EMPLOYEE 對象中的數據全部插入到雇員表中,update@i 表示只執行插入更新操作

A4:else  // 不滿足條件,type 參數值不是 1

B5:>A1.update@k(EMPLOYEE:EMPLOYEE_old, 雇員, 雇員 ID:EID, 姓氏:NAME, 名字:SURNAME, 出生日期:BIRTHDAY, 雇用日期:HIREDATE; 雇員 ID) // 當不滿足 if 條件時,將頁面中 EMPLOYEE 對象修改了的數據更新到數據庫中,當 update 后無其他選項時,表示執行智能更新

小技巧

在不確定如何處理數據或者檢查計算結果時,我們可以使用 debug()或者 output() 函數輸出需要檢查的信息,通過觀察控制臺結果來調試和判斷。

【延伸】

類似場景:

1)type 參數是否為 1 只是我們假設的一個條件,實際的條件可能更加靈活和復雜。例如動態更新數據的判斷依據可能是某個結果集是否為空,我們就可以使用 T.len() 獲取結果集的長度,當長度為 0 時,表示結果集為空。

2)假設示例中的需求修改為:當 type 的值不是 1 時,將雇員表和 EMPLOYEE 對象的數據作比較,然后將差異數據更新入庫。而雇員表數據在 guyuan 對象中,那么此時可以將 update 的寫法改為:

A1.update@k(EMPLOYEE:guyuan, 雇員, 雇員 ID:EID, 姓氏:NAME, 名字:SURNAME, 出生日期:BIRTHDAY, 雇用日期:HIREDATE; 雇員 ID)

至此,我們就實現了在腳本模式下制作填報表,進而動態更新數據的效果。這里需要重點理解的是 if 和 update 函數的使用,不過顯然也是比較簡單的哦 ~ 當我們遇到需要用腳本進行數據處理的情況,不要害怕,盤它就對了,盤的多了,你會發現原來腳本真的是很有意思的一種處理方式。

更多填報表制作技巧在這里: http://c.raqsoft.com.cn/tag/Report?t= 填報技巧

詳情鏈接: http://c.raqsoft.com.cn/article/1550469839038 ?r=gxy


向AI問一下細節

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

AI

高平市| 宁武县| 灵石县| 西青区| 石渠县| 灵台县| 嘉峪关市| 龙江县| 尖扎县| 吐鲁番市| 临夏县| 洛阳市| 临洮县| 枞阳县| 兴文县| 辉南县| 天峨县| 库车县| 绥中县| 县级市| 南靖县| 新密市| 沙洋县| 东丽区| 佳木斯市| 梁山县| 图木舒克市| 合肥市| 巩义市| 都昌县| 固镇县| 陵川县| 泰兴市| 根河市| 宽城| 石嘴山市| 黔西| 原阳县| 苏尼特左旗| 宝清县| 山丹县|