我用wincc 做报表的时候,想通过前台输入四个字段往SQL里有个产品批次库表里写数据,按一下按钮写一次,要求是批次号不能重复,我在SQL表里做了限制是不能重复的,但在脚本里无法判断也不知道怎么判断字符串里的数字错误(有重复)执行程序时,wincc会报错,如果点取消,程序会停止执行,再次再启动不了,如果停止了怎么也启动不了,除非重启WINCC ,停止执行后就是输入不重复的数字也不会往表写东西,
我的问题 是在脚本里的什么地方加个判断语句就是字符串的返回值错误的意思,我输出个提示框有重复重新输入,点确定可重新输入。不要让那些乱七八遭的调试错误的提示出来,我在wincc里把提示和脚本调试时关了,输入重复倒是什么也不弹,但是也不会执行,也不会写成功数据。
关键的脚本简单就是:
Data01 = HMIRuntime.Tags("HMI-IN_PRODUCT_NUM").Read
Data02 = HMIRuntime.Tags("HMI-IN_PRODUCT_NAME").Read
Data03 = HMIRuntime.Tags("HMI-IN_PRODUCT_WEIGHT").Read
strSQL="INSERT INTO weight (product_num,product_name,product_weight) VALUES ('"&Data01&"','"&Data02&"','"&Data03&"')"
图片说明:
最佳答案
写入之前先获取表中的批次号,循环判断与当前要写入的批次号是否重复(可以写个存储过程进行判断),如果重复,通过msgbox进行提示,然后使用I/O域或textbox之类的控件重新写入新的批次号。
提问者对于答案的评价:
能否加个wx 都是工控朋友,谢谢 66554377
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc319584.html