请问怎么查询含有单引号',双引号 "的字段(50)

  • 主题发起人 主题发起人 iwantdown
  • 开始时间 开始时间
I

iwantdown

Unregistered / Unconfirmed
GUEST, unregistred user!
用adoquery连接数据库access,dbgrid显示,有一个字段内容是 读"某某"有感 注意:"是英文下的引号select * from table where 内容 = "读"某某"有感"显示错误,请问怎么查询含有单引号',双引号 "的字段敬请回答者试验成功后给出答复
 
var s:string;begin s:='读"某某"有感%'; with doquery do doquery.Close; doquery.SQL.Clear; doquery.SQL.Add('SELECT * FROM Table1 WHERE e1 LIKE '''+s+''''); doquery.open;end;测试通过~~
 
你是在delphi中通过的吗?我用了以后提示:语法错误(操作符丢失)在查询表达式'e1 like "读"某某"有感"'中你是不是在数据库中用的是汉语双引号?“”
 
query1.sql.text:='select * from table1 where e1 like :S ';query1.parambyname('s').asstring:= '读"某某"有感%';query1.open;
 
查询单引号:query1.sql.text := 'select * from table1 where 内容 like ''%''''%''';双引号:query1.sql.text := 'select * from table1 where 内容 like ''%"%''';
 
znxia聪明,其实de410也没有错,只是:var s:string;begin s:='读''某某''有感%'; // 或 s:='读"某某"有感%'; // 不用多个 ‘ 了, 呵呵! with doquery do doquery.Close; doquery.SQL.Clear; doquery.SQL.Add('SELECT * FROM Table1 WHERE e1 LIKE '+s); doquery.open;end;
 
試下這個,我試了是可以的:SELECT * FROM Table1 WHERE where e1='讀'||'"'||'某某'||'"'||'有感'
 
抱歉我想问一下,大家是在delphi下用adoquery连接数据库access,测试通过的吗?我怎么总提示语法错误
 
不好意思第一次是在SQL SERVER 中通过,以下在access中通过~~(sql server和access的通配符不同)var s:string;begin s:='读"某某"有感*'; with doquery do doquery.Close; doquery.SQL.Clear; doquery.SQL.Add('SELECT * FROM Table1 WHERE e1 LIKE '''+s+''''); doquery.open;end;
 
转为CHR() 或CHAR()SQL.TEXT:='SELECT * FROM AAA WHERE A LIKE '+''''+'X'+CHAR(39)+'Y'+'''';
 
doquery.SQL.Add('SELECT * FROM Table1 WHERE e1 LIKE '+quotedstr(s) );
 
zaorv通过验证,谢谢大家的帮助顺便问一下,如果字符串内含有'['或者'('等括号用什么转换?
 
后退
顶部