无法让delphi SQL LIKE与%一起使用

时间:2017-08-07 17:00:41

标签: sql delphi delphi-2010

我正在做一个学校项目,需要编写查询来过滤数据集到某些变量。我的所有SQL都运行正常,但我无法使LIKE语句与%-signs一起使用。我相信我的语法错了。任何人都可以告诉我我做错了什么。感谢

代码:

qryMovie.SQL.Clear;
qryMovie.SQL.Add('SELECT * FROM Movies');
qryMovie.SQL.Add('WHERE Genre =  ' + QuotedStr(genre));
qryMovie.SQL.Add('AND Price BETWEEN ' + minPrice + ' AND ' + maxPrice);
qryMovie.SQL.Add('AND Title LIKE %' + title + '%');
qryMovie.Open;

产生错误:

'查询表达式中的语法错误'Genre ='Action / Adventure' 和价格在0和200之间 AND Title LIKE%星球大战%''

1 个答案:

答案 0 :(得分:7)

  

LIKE%Star Wars%

但你需要

  

LIKE'%星球大战%'

您需要使用%引用'

qryMovie.SQL.Add(' AND Title LIKE ''%' + title + '%''');

无论如何,你应该使用绑定参数而不是连接SQL字符串。它容易出错,可能导致SQL注入攻击。