我正在做一个学校项目,需要编写查询来过滤数据集到某些变量。我的所有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%星球大战%''
答案 0 :(得分:7)
LIKE%Star Wars%
但你需要
LIKE'%星球大战%'
您需要使用%
引用'
:
qryMovie.SQL.Add(' AND Title LIKE ''%' + title + '%''');
无论如何,你应该使用绑定参数而不是连接SQL字符串。它容易出错,可能导致SQL注入攻击。