SQL 检查 table 是否包含值?
SQL check if table contains value?
我是 SQL 的新手。我的目标是创建一个程序,该程序应检查某个 table 是否具有特定值。我写了这个方法
public boolean existString(final String query) {
try {
final Statement statement = this.conn.createStatement();
result = statement.executeQuery(query);
return true;
} catch(SQLException e) {
e.printStackTrace();
return false;
}
}
如你所见,它是一个执行SQL语句的方法。我认为这可能是正确的说法:
String query = "select * from table where column1 = 'checkvalue'"; // of course i need to replace table and column and checkvalue
但是在执行这个语句之后,我如何证明它是否成功(查询 return 是什么)?如果语句在执行后会 return 一些东西,我可以轻松地使用 if 语句来检查。
是的,您的方法和 SQL 查询足以进行检查。如果查询中没有行输出,则为空。
如果数据库中没有行 return,SQL 语句可以 return 成功,所以使用 SQLException
不会帮助你,如果查询正确但没有匹配项。
public boolean existString(final String query) {
try {
final Statement statement = this.conn.createStatement();
result = statement.executeQuery(query);
return result.next();
} catch(SQLException e) {
e.printStackTrace();
return false;
}
}
您应该利用以下事实:result.next()
尝试将结果指针移动到下一行,并且 return 无论是否有行指向 return。这样,如果成功并且有结果 ir returns true
并且成功而没有结果,它 returnsfalse
。如果出现问题,您的异常处理将负责后续工作。
我是 SQL 的新手。我的目标是创建一个程序,该程序应检查某个 table 是否具有特定值。我写了这个方法
public boolean existString(final String query) {
try {
final Statement statement = this.conn.createStatement();
result = statement.executeQuery(query);
return true;
} catch(SQLException e) {
e.printStackTrace();
return false;
}
}
如你所见,它是一个执行SQL语句的方法。我认为这可能是正确的说法:
String query = "select * from table where column1 = 'checkvalue'"; // of course i need to replace table and column and checkvalue
但是在执行这个语句之后,我如何证明它是否成功(查询 return 是什么)?如果语句在执行后会 return 一些东西,我可以轻松地使用 if 语句来检查。
是的,您的方法和 SQL 查询足以进行检查。如果查询中没有行输出,则为空。
如果数据库中没有行 return,SQL 语句可以 return 成功,所以使用 SQLException
不会帮助你,如果查询正确但没有匹配项。
public boolean existString(final String query) {
try {
final Statement statement = this.conn.createStatement();
result = statement.executeQuery(query);
return result.next();
} catch(SQLException e) {
e.printStackTrace();
return false;
}
}
您应该利用以下事实:result.next()
尝试将结果指针移动到下一行,并且 return 无论是否有行指向 return。这样,如果成功并且有结果 ir returns true
并且成功而没有结果,它 returnsfalse
。如果出现问题,您的异常处理将负责后续工作。