【发布时间】:2020-10-08 15:56:06
【问题描述】:
我是 SQL 新手。我的目标是,创建一个程序,它应该检查某个表是否具有某个值。我写了这个方法
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
但是在执行这个语句时,我如何证明它是否成功(查询是否返回一些东西)?如果语句在执行后会返回一些东西,我可以很容易地使用 if 语句来检查。
【问题讨论】:
-
是的,它会被返回,你可以使用if语句来检查它的值
-
返回值?或者如果表不包含这个值某个整数,比如 0 ?
-
除非我弄错了:如果值没有退出,你不应该得到一个 SQLException 而是一个空的结果。因此,您的返回值应该取决于
result.next()的结果,而不是仅在无法执行查询时才会发生的异常。 -
因此,result.next() 返回一个布尔值。所以,因为我的方法也返回一个布尔值,你的意思是我应该在我的 try-block 中
return result.next()?
标签: java mysql sql return contains