今天用uni-app的扫描二维码的时候,当二维码是中文的时候,插入的sql语句报错“ORA-00917: 缺失逗号”。
但是用调试的时候把语句拿出来在pl/sql上能正常运行。
但就是程序运行的时候报错“缺失逗号”
找啊找啊找,终于被我找到原因就是二维码扫描的中文的字符串最前面会隐藏一个空格,把空格去掉之后就能正常的插入数据了。
去掉中文的方法有好多种,自己百度
下面是用正则表达式去掉空格。
//扫描枪调用事件 openScan(value){ var that=this uni.scanCode({ onlyFromCamera: true, success: function (res) { console.log(res) switch(value){ case 'prd_1': that.prd_1=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'prd_2': that.prd_2=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'prd_3': that.prd_3=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'prd_4': that.prd_4=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'prd_5': that.prd_5=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'prd_6': that.prd_6=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'qa_1': that.qa_1=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'qa_2': that.qa_2=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'qa_3': that.qa_3=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'qa_4': that.qa_4=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'qa_5': that.qa_5=res.result.replace(/(^\s*)|(\s*$)/g, "");break; case 'qa_6': that.qa_6=res.result.replace(/(^\s*)|(\s*$)/g, "");break; default:break; } } });
啊啊啊,搞了我半天。。。。