Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 对多个数据库使用单个JDBC连接_Java_Sqlite_Jdbc - Fatal编程技术网

Java 对多个数据库使用单个JDBC连接

Java 对多个数据库使用单个JDBC连接,java,sqlite,jdbc,Java,Sqlite,Jdbc,我有一个到SQLite数据库的JDBC连接。从第一个数据库productLine.db获取信息后,我想将连接切换到shipMethods.db并从该数据库读取一个表。我当前收到错误信息: SQL error or missing database (no such table: Ground) 我检查了数据库,表就在那里。我需要创建一个新的连接变量,还是我做错了什么 代码如下: //Get connection to database try { Con

我有一个到SQLite数据库的JDBC连接。从第一个数据库productLine.db获取信息后,我想将连接切换到shipMethods.db并从该数据库读取一个表。我当前收到错误信息:

    SQL error or missing database (no such table: Ground)
我检查了数据库,表就在那里。我需要创建一个新的连接变量,还是我做错了什么

代码如下:

    //Get connection to database
    try {
        Connection con = DriverManager.getConnection ("jdbc:sqlite:productLine.db");
        //Make statement for interacting with database
        Statement stmt = con.createStatement();

        //Get total weight
        ResultSet rs = stmt.executeQuery ("SELECT Weight FROM Numbers WHERE TYPE = '" + product + "'");
        while (rs.next()) {
            weight = rs.getDouble("weight")*1000;
        }

        //get zone
        rs = stmt.executeQuery ("SELECT ZONE FROM Zones WHERE ZIP = " + shortZip);
        while (rs.next()) {
            zone = rs.getInt("Zone");
        }

        //Change to Ship Methods database
        con = DriverManager.getConnection("jdbc:sqlite:shipMethods.db");

        //Get Price
        rs = stmt.executeQuery ("SELECT EIGHT FROM Ground WHERE WEIGHT = " + weight);
        while (rs.next()) {
            price = rs.getDouble("Cost");
        }

        System.out.println("Weight: " + weight);
        System.out.println("Zone: " + zone);
        System.out.println("Price: " + price);

    } catch(SQLException e) {
        System.out.println("SQL exception occured" + e);
    }
您正在使用的语句属于旧连接。 你有两个活跃的联系;否则计算机怎么知道该使用哪一个呢

从新连接创建新语句。

您正在使用的语句属于旧连接。 你有两个活跃的联系;否则计算机怎么知道该使用哪一个呢

从新连接创建新语句