PB中一些字符会引起程序报错,怎么解决
最近程序中出现一些现象,开始在代码里查找原因,始终未找到原因,后来才发现是由于一些字符的原因引起的,如以下语句:
select codename into :ls_bwmc from c_layerplace where codeid=:ls_bwid and companyid=:gs_companyid;
dw_5.object.t_bwmc.text=ls_gcmc
我在打印格式里,将该编号(codeid)对应的名称(codename)找出来,然后赋值到datawindow中的t_bwmc中;
问题就出现了:如果此时名称(codename)的值为:施工五队B塔1-10~1-14/1-G~1-C十六层墙柱 的时候,程序正常,但是如果值为:施工五队B塔1-10~1-14/1-G~1-C十六层墙柱 的时候,程序就会报错了:
error:error accessing external object property text (Line 1 Colunm 33:incorrect syntax.)at line 35 ;
区别就在于 ~ 与 ~ ,~不会报错,而~ 就会报错了,怎么才能规避掉这样的错误呢,前端用户不可能每次都会输~,肯定会输~ ,到时就杯具啦~
这种状况该如何解决呢?
[解决办法]
~的问题,转义符后面不能紧接着数字
如果是sql的数据库可以这么改:
select replace(codename, '~', '~') into :ls_bwmc from c_layerplace where codeid=:ls_bwid and companyid=:gs_companyid;
dw_5.object.t_bwmc.text=ls_gcmc
也只能这样了