Java Vertex SQL queryWithParams如何使用LIKE?和怀尔德
我正在开发一个简单的VertX应用程序。我有一个hsqlDB,我正在尝试执行一个查询,希望从包含搜索参数的表中获取所有IDJava Vertex SQL queryWithParams如何使用LIKE?和怀尔德,java,sql,hsqldb,vert.x,Java,Sql,Hsqldb,Vert.x,我正在开发一个简单的VertX应用程序。我有一个hsqlDB,我正在尝试执行一个查询,希望从包含搜索参数的表中获取所有ID String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE ?"; 因此,当名称与? 当我尝试使用通配符时: String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE %?%"; 或 它不起作用。 我的代码: private void getIDsBySearchString(
String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE ?";
因此,当名称与?当我尝试使用通配符时:
String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE %?%";
或
它不起作用。我的代码:
private void getIDsBySearchString(字符串搜索、SQLConnection连接、处理程序resultHandler){
String sql=“从MYTABLE中选择ID,其中NAME LIKE?”;
conn.queryWithParams(sql,新JsonArray().add(搜索),asyncResult->{
if(asyncResult.failed()){
resultHandler.handle(Future.failedFuture(“未找到名称”);
}否则{
int numRows=asyncResult.result().getNumRows();
如果(numRows>=1){
向量IDVector=新向量();
对于(int i=0;i
我需要如何编辑我的查询字符串以便?将被搜索字符串替换,并且我将能够使用通配符?参数不能位于带引号的字符串中。它可以是涉及其他字符串的concat表达式的一部分
String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE '%' || ? || '%'";
参数不能位于带引号的字符串内。它可以是涉及其他字符串的concat表达式的一部分
String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE '%' || ? || '%'";
应该更改的部分是您的
search
参数,而不是sql
部分:
String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE ?";
conn.queryWithParams(sql, new JsonArray().add("%"+search+"%"), asyncResult -> { ... }
应该更改的部分是您的
search
参数,而不是sql
部分:
String sql = "SELECT ID FROM MYTABLE WHERE NAME LIKE ?";
conn.queryWithParams(sql, new JsonArray().add("%"+search+"%"), asyncResult -> { ... }