Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java文件中查找表的大小_Java_Mysql_Jdbc - Fatal编程技术网

在java文件中查找表的大小

在java文件中查找表的大小,java,mysql,jdbc,Java,Mysql,Jdbc,在mysql命令行中,当我发出命令时: 从用户中选择计数(*)表; 它工作正常。它告诉我桌子的大小 但是,我想在Java文件中获取结果。因此,我在Java文件中编写了下面的代码。但是它不起作用 public int f() { ResultSet rs; int i; String query = "select count(*) tables from users"; Statement st = this.con.createStatement(); //er

在mysql命令行中,当我发出命令时: 从用户中选择计数(*)表; 它工作正常。它告诉我桌子的大小

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

您从未使用next()方法检查resultSet是否有数据

发件人:

下一个方法将光标移动到下一行

另外,
ResultSet
具有
getInt()
方法,而不是
getInt()
java区分大小写


编辑:您必须在代码中处理或声明SQLException(选中的异常)。是否会抛出SQLException

rs.GetInt(1)
?你确定这个查询行得通吗?我肯定不行。仅在这一行中可以看到错误:i=rs.GetInt(1)@user1308990这是一个编译器错误,因为resultSet没有GetInt(),它有GetInt()。此外,在从表中检索数据之前,您应该调用rs.next()。请参见下面的答案。您是否正确初始化了此.con字段中的连接?看在上帝的份上。错误不仅仅是危险信号。它们带有一条消息,发生在运行时或编译时。如果需要帮助,请粘贴准确的错误消息。你也可以试着阅读、理解它们,然后用谷歌搜索它们。“它不起作用”是对你可能给出的问题最糟糕的描述。我把GetInt改成了GetInt。但是,现在,错误的数量增加了。我已经编辑了代码哇!!!!!!!这是我应该知道的一点!!非常感谢,我的朋友。我不知道我必须使用SQLException。我说得对吗?是否必须使用SQLException?为什么以及在什么情况下?@user1308990欢迎您查看此链接了解SQLException。它将让您在连接时了解数据库错误(如果有)@用户1308990当然,这是一个已检查的异常。所以,你必须处理它。否则会出现编译器错误
public int f() throws SQLException {
//rest of your code
rs = st.executeQuery(query);
if(rs.next()){
i = rs.getInt(1);  
}
//rest of your code
}