本人使用ACCESS数据库,在 SQL 查询语句中有一个字段值是用户输入的:
var
name:string; //这个变量的值由用户输入。
//
MainForm.adoDataSet.commandtext:='select * from filetable where name='+name;如果name值包含SQL的特殊字符就出错,例: name='(xxx)';
如何屏蔽这种特殊字符?
我也试过双引号,中括号等,不行。
对于预先对字符串处理我也试过,就是麻烦得很。
有没有简单的方法?
var
name:string; //这个变量的值由用户输入。
//
MainForm.adoDataSet.commandtext:='select * from filetable where name='+name;如果name值包含SQL的特殊字符就出错,例: name='(xxx)';
如何屏蔽这种特殊字符?
我也试过双引号,中括号等,不行。
对于预先对字符串处理我也试过,就是麻烦得很。
有没有简单的方法?
MainForm.adoDataSet.commandtext:='select * from filetable where name='+''''+name+'''';
试试
多此一举
和
name='''+name+'''';
是一样的