在mysql命令行中,当我给出命令时: 从用户中选择count(*)表; 它工作正常。它给了我桌子的大小。
但是,我想把结果放在Java文件中。因此我在Java文件中写下面的代码。但它不起作用
public int f()
{
ResultSet rs;
int i;
String query = "select count(*) tables from users";
Statement st = this.con.createStatement(); //error
rs = st.executeQuery(query); //error
if(rs.next()) //error
{ //error
i = rs.getInt(1); //error
}
return i; //error
}
如何在Java文件中获取表的大小?
答案 0 :(得分:3)
你从未检查过resultSet是否有使用next()方法的数据。
下一个方法将光标移动到下一行
public int f() throws SQLException {
//rest of your code
rs = st.executeQuery(query);
if(rs.next()){
i = rs.getInt(1);
}
//rest of your code
}
ResultSet
getInt()
方法不是GetInt()
, java区分大小写。
编辑:您必须在代码中处理或声明SQLException(已检查异常)。 Connection.createStatement()会抛出 SQLException 。