昨天发布的博客中,介绍了如何从OPC中批量提取items的值,然后按照一定速率更新进数据库中,然后出现了一个不大不小的BUG,原因是items的value值,里面如果含有特殊字符,例如单引号(‘),反斜杠(\)等等,就会影响sql语句的判定,造成执行错误。
先看看那哪几个OPC的点位值,会出现这种含有特殊符号的情况。
很明显,上图的OPC点位值中,我打勾的两个,一个TextualDataItem和一个Textual.Random,这两个值跟脸滚键盘也差不了多少,完全是乱七八糟的随机键盘值,里面什么符号都有可能,而且还是随机更新变换的,问题就处在他们两个身上。
看下代码执行情况
未经处理的异常:往下这些基本一看就知道是字符串的问题,我打印了Console.WriteLine(sql);