PB数据窗口保存不重复的数据

PB数据窗口保存不重复的数据,第1张

初步看了下,你整体思路还是可以的,有相应得检查排错代码。运行结果不是你的设想,你可以通过debug一步步排查,看看每一步变量取值、程序转向是不是按你设想的来进行

几个问题供你参考

1、ls_lb_bh = "bm " 这种赋值方法没见过,不知道你这个是不是从数据窗口取数,如果是,这种方法不对,或者是我OUT了。你查查这个数据能不能正常取出

2、你通过select count方法检查是否有重复,这是对的,不过应该在NEW分支里面来做,不然其他类别不需要也运行一次,没意义

3、你的dw提交好像有问题,很复杂的用rowscopy方法,实际上应该用SQL语句处理更直观

没看到你的界面,原则上新增和修改不应该共用一个界面,这样分开处理程序简单清晰

第一种方法,可以插入之前先做判断,比如你要判断重复的字段是ID,那就在查询之前查看表中是否有这个ID存在。可以用如下两种SELECT来判断,个人偏爱第二种,如果表大的话,效率要高。1. SELECT COUNT(1) INTO :Ll_cnt from table where id = :ll_id

if li_cnt >0 then 有重复

2. select 'x' into :ls_flag from table where id = :ll_id

if ls_flag = 'x' then 有重复

第二种方法,可以在保存的时候,根据sqlca.sqlerrtext来判断,不过这个判断重复,只能判断主键或者唯一索引的重复,是数据库本身的报错信息。而不是认为来定义判断条件判断的

比如您执行了保存或插入 *** 作之后,下边写

if sqlca.sqlcode = 0 then //这个是保存成功了

commit

else

messagebox("插入错误", "错误信息为:"+string(sqlca.sqlerrtext)) ---这个是数据库本身报出的错误

rollback

end if

在SQL企业管理器里,右击你要清空的数据库,选择所有任务下的生成SQL脚本

打开后,点全部显示按钮

然后再点左边的编写全部对象脚本,打上勾

然后点确定

出现提示保存对话框,保存一下

然后找开查询分析器,连接到你的清空的数据库

然后将刚才保存的SQL脚本里的所有内容复制到查询分析器中

按F5执和即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9410455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存