无法获得 delphi SQL LIKE 与 % 一起工作

Can't get delphi SQL LIKE to work with %

我正在做一个学校项目,需要编写查询代码以根据特定变量过滤数据集。我的所有 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;

产生错误:

'查询表达式中的语法错误'流派 = 'Action/Adventure' AND 价格在 0 和 200 之间 AND Title LIKE %Star Wars%''

LIKE %Star Wars%

但你需要

LIKE '%Star Wars%'

您需要用 ' 引用 %:

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

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