-3

在 mysql 命令行中,当我发出命令时: select count(*) tables from users; 它工作正常。它给了我桌子的大小。

但是,我想在 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 文件中获取表的大小?

4

1 回答 1

3

您从未使用其 next() 方法检查结果集是否有数据。

结果集 API

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
}

ResultSetgetInt()方法不GetInt()java是区分大小写的。

编辑:您必须在代码中处理或声明 SQLException(checked exception)Connection.createStatement()会抛出SQLException

于 2012-11-17T17:41:13.773 回答