表单回填新增删除按钮,删除回填记录

4330
4

1505121235 数据老手Lv5

发表于2020-4-21 11:56

楼主
本帖最后由 1505121235 于 2021-1-5 16:53 编辑

需求场景:表单回填增加删除按钮,将可以查询出的这条记录直接在表单中删除,相应的数据库的这条记录也被删除
实现方法将下列脚本放在删除按钮的万能式钻取中
PS:具体使用的时候还需要修改脚本中的相关参数,参数说明已经备注在脚本中了


  1. var formrpt = formMgr.getReport("HHH2");//获取表单容器
  2. var keyvalue = formrpt.getValue({"name":"HHH6"});//获取待删除的数据的关键字
  3. for (var i in formrpt.childs) {
  4.     var cwid = formrpt.childs[i];
  5.     cwid.setValue("");
  6. }
  7. //删除数据库的数据
  8. EUI.showWaitDialog("正在删除");
  9. //第一个参数是sql语句,第二个是sql语句里用到的参数bm的值(?代表的数值),第三个是连接池名字,第四个是回调函数
  10. runSql("delete from HTSJB where bm=?",keyvalue,"CeShi", function(){
  11.     EUI.hideWaitDialogWithComplete(1000, "删除成功");
  12. });
复制代码
ps:bm=?,?就是用后面的keyvalue的值(前面定义的关键字)

补充
1.删除特定某个字段的记录
runSql("delete from 表名 where 字段=?","字段值","数据库连接池名", function(){
    EUI.hideWaitDialogWithComplete(1000, "删除成功");
});
例如:
  1. runSql("delete from WT_B8 where bbq_=?","2020","oracle", function(){
  2.     EUI.hideWaitDialogWithComplete(1000, "删除成功");
  3. });</font>
复制代码

2.删除多个字段确定的记录
例如:
  1. runSql("delete from WT_B8 where xzqh=? and bbq_=?",420000+";"+2020,"oracle", function(){
  2.     EUI.hideWaitDialogWithComplete(1000, "删除成功");
  3. });
复制代码

3.删除多个字段是变量的记录
例如:
  1. var formrpt = formMgr.getReport("HHH2");//获取表单容器
  2. var keyvalue = formrpt.getValue({"name":"HHH3"});//获取待删除的数据的关键字
  3. var keyvalue1 = formrpt.getValue({"name":"HHH5"});//获取待删除的数据的关键字
  4. for (var i in formrpt.childs) {
  5.     var cwid = formrpt.childs[i];
  6.     cwid.setValue("");
  7. }
  8. //删除数据库的数据
  9. EUI.showWaitDialog("正在删除");
  10. //第一个参数是sql语句,第二个是sql语句里用到的参数bm的值(?代表的数值),第三个是连接池名字,第四个是回调函数
  11. runSql("delete from WT_B8 where xzqh=? and bbq_=?",keyvalue+";"+keyvalue1,"oracle", function(){
  12.     EUI.hideWaitDialogWithComplete(1000, "删除成功");
  13. });
复制代码

4.更新表中某条记录

例如:(1)条件为固定值
  1. runSql("update WT_B8 set bbq_='2019' where xzqh='420000' ",null,"oracle", function(){
  2.     EUI.hideWaitDialogWithComplete(1000, "更新成功");
  3. });
复制代码
(2)条件为变量
  1. runSql("update WT_B8 set bbq_='2018' where xzqh=?",keyvalue,"oracle", function(){
  2.     EUI.hideWaitDialogWithComplete(1000, "更新成功");
  3. });
复制代码






最近看过此主题的会员

liulei6511

hhdtest

esen_4Q6MZ9SWVR

武威

4个回答

只看楼主

小亿 管理员

发表于2020-4-21 11:57

只看该作者

取消 关注该作者的回复

沙发

替薏米们谢谢大神分享

程序小哥哥 数据达人Lv4

发表于2020-4-21 11:58

只看该作者

取消 关注该作者的回复

板凳

优秀,学习了~

1505121235 数据老手Lv5

发表于2021-1-5 17:52

只看该作者

取消 关注该作者的回复

地板

数据库有日期字段,需要删除当月数据,可以直接通过宏获取当月,然后sql里面进行引用

怕黑的小张plus 初学数据Lv2

发表于2023-11-6 09:51

只看该作者

取消 关注该作者的回复

5#

楼主,前两行宏如何获取分析区表格里的某一单元格里的值

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号