java - 我不知道如何在同一个程序中执行多个查询

标签 java mysql sql

这是一个类,我需要返回表名和这些表的列名。我对 SQL 没有太多经验,我正在尝试通过我的程序通过算法来完成它。
抛出的错误是:java.sql.SQLException:结果集结束后

import java.sql.*;
public class main {

    public static void main(String[] args) {


        String[] tableAry = new String[8];
        int i = 0;
        try {
            Class.forName("com.mysql.jdbc.Driver");  
            Connection con=DriverManager.getConnection(  
            "jdbc:mysql://localhost:3306/employees",
            "user1",
            "Password#1");


            Statement stmt=con.createStatement();  
            ResultSet rs=stmt.executeQuery("SELECT table_name FROM information_schema.tables "
                    + "WHERE table_schema ='employees';");

            //gets table names and puts them in an arry
            while(rs.next()) { 
            tableAry[i]=rs.getString(1);
            i++;
            }


            Statement stmt1=con.createStatement();  
            ResultSet rs1;

            //executes a query for column names using said table names
            System.out.println("Loop Start");
            for (int j=0; j<= tableAry.length; j++)
            {
                rs1=stmt1.executeQuery("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'" + tableAry[j] + "';");
                System.out.println(tableAry[j]+rs.getString(1));
            }

            con.close();  
        }catch(Exception e){ System.out.println(e);}

    }

}

最佳答案

您的循环将遍历整个结果集rs

while(rs.next()) { 
   tableAry[i]=rs.getString(1);
   i++;
}

所以当你打电话时

System.out.println(tableAry[j]+rs.getString(1));

rs 将指向结果集的末尾。

所以我假设你真正想做的是:

System.out.println(tableAry[j]+rs1.getString(1));

也许?

关于java - 我不知道如何在同一个程序中执行多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60344484/

相关文章:

java - 将 Java AWS S3 代码部署到 openfaas 时出错

java - 为什么子类的私有(private)变量存储在父类(super class)类型变量中时仍被保留?

mysql - Codeigniter 中的 GROUP_CONCAT 到复选框

sql - 将记录平均分成组

html - MySQL 数据库错误 #1064

java - spring boot 应用程序的 tomcat 中的默认线程池

java - 如何将 Int 传递给 Java 中的 Soap 请求

mysql - 在 my.cnf 中将 MySQL 默认字符集更改为 UTF-8?

php - 在 PHP MYSQL 中跟踪对话

php - SQL 和 PHP 唯一编号