我现在使用这个语句:
"SELECT categoryDB, number FROM " + dbName+ " WHERE titleDBColumn ='" + titleInput+ "'";
这可以帮助我找到类似titleInput的字符串(这是一个来自外部的变量)。
但是,titleDBColumn中的值几乎总是比通过titleInput输入的值短的字符串。
示例:
titleDBColumn: Streetcar
titleInput: TheStreetCarIOwn
现在很明显,我需要在另一个方向使用LIKE运算符来获得我想要的结果,但我不能得到正确的格式。有什么想法吗?抱歉我不清楚。
2条答案
按热度按时间7eumitmz1#
这对我很有效:
3yhwsihp2#
生成的SQL必须是
%
通配符表示“任何数量的任何字符”。也就是说,'input' LIKE '%' + titleDBColumn + '%'
意味着输入文本可以在列文本之前和之后包含字符。此外,应尽可能使用命令参数。对于称为
dbName
的表名,这是不可能的。如果这个名称是在代码中定义的,并且不是用户输入的,那么像您所做的那样连接它是安全的。但在其他方面采取措施防止SQL注入。