首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

sql语句提示 之前有未闭合的引号解决思路

2012-01-15 
sql语句提示之前有未闭合的引号sqlselect * from jqls_cw where sj+trim(ls_sj)+rs.open sql,cnn

sql语句提示 之前有未闭合的引号





sql="select * from jqls_cw where sj="'"+trim(ls_sj)+"'"
rs.open sql,cnn,adopenstatic,adlockoptimistic



变量ls_sj是从串口获取的数据

ls_sj值为 '{ee221105250947000006001200004340001000012000000022066 ' 中间的空格实际上不是空格而是乱码
也就是sql值为select count(*) from jqls_cw where sj='{ee221105250947000006001200004340001000012000000022066 '


如果ls_sj字符串内没有类似空格的乱码,不会出错,如果有类似空格的乱码,那么数据出错,并提示
错误提示:字符串 '{ee221105250947000006001200004340001000012000000022066' 之前有未闭合的引号。





[解决办法]
sql = "select * from jqls_cw where sj='" + trim(ls_sj) + "'"

[解决办法]
获得它的ascii码,把它剔除掉
[解决办法]
sql = "select * from jqls_cw where sj='" + trim(ls_sj) + "'"
[解决办法]

VB code
'将tab符替换成""sql=" select * from jqls_cw where sj ='"& trim(replace(ls_sj,vbTab,"")) &"'"将行结束符替换成""sql=" select * from jqls_cw where sj ='"& trim(replace(ls_sj,chr(0),"")) &"'"'将回车符换成""sql=" select * from jqls_cw where sj ='"& trim(replace(ls_sj,vbCrLf,"")) &"'" 

热点排行