Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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 org.sqlite.SQLiteException:[sqlite\u ERROR]SQL错误或缺少数据库(没有这样的表:account)_Java_Sqlite_Intellij Idea - Fatal编程技术网

Java org.sqlite.SQLiteException:[sqlite\u ERROR]SQL错误或缺少数据库(没有这样的表:account)

Java org.sqlite.SQLiteException:[sqlite\u ERROR]SQL错误或缺少数据库(没有这样的表:account),java,sqlite,intellij-idea,Java,Sqlite,Intellij Idea,我知道这个问题可能重复了好几次,但我找不到这个问题的真正答案 “所以我想将sqlite数据库连接到Java应用程序,我使用Intellij并使用sqlite-jdbc-3.34.0作为外部库 我正在尝试使用select从数据库“account”读取数据。 在不同的地方得到了这个错误 org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: account) at

我知道这个问题可能重复了好几次,但我找不到这个问题的真正答案 “所以我想将sqlite数据库连接到Java应用程序,我使用Intellij并使用sqlite-jdbc-3.34.0作为外部库 我正在尝试使用select从数据库“account”读取数据。 在不同的地方得到了这个错误


  org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: account)
    at org.sqlite.core.DB.newSQLException(DB.java:1012)
    at org.sqlite.core.DB.newSQLException(DB.java:1024)
    at org.sqlite.core.DB.throwex(DB.java:989)
    at org.sqlite.core.NativeDB.prepare_utf8(Native Method)
    at org.sqlite.core.NativeDB.prepare(NativeDB.java:134)
    at org.sqlite.core.DB.prepare(DB.java:257)
    at org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:45)
    at org.sqlite.jdbc3.JDBC3PreparedStatement.<init>(JDBC3PreparedStatement.java:30)
    at org.sqlite.jdbc4.JDBC4PreparedStatement.<init>(JDBC4PreparedStatement.java:25)
    at org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:35)
    at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:241)
    at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:205)
    at Test.main(Test.java:35)

我试图将.db3文件放在src文件夹中,并试图删除.idea文件夹,同时使缓存无效/重新启动或更新Intellij,但这些都无效!

将数据库文件复制到项目文件夹中。有时sqlite数据库文件位于我的
src
文件夹中。将其从
src
文件夹移动到我的项目中文件夹,这种方式可以解决错误

确保您的数据库中有一个“帐户”表?是的,它在那里,并确认使用CMD和sqlitestudiot非常感谢您,这就解决了它!
import org.sqlite.SQLiteConfig;
import org.sqlite.SQLiteDataSource;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Test {
    public static void main(String[] args) {
        try {
            Class.forName("org.sqlite.JDBC"); 
            SQLiteConfig config = new SQLiteConfig();
            config.setPragma(SQLiteConfig.Pragma.FOREIGN_KEYS, "on");

            SQLiteDataSource dataSource = new SQLiteDataSource(config); 

dataSource.setUrl("jdbc:sqlite:C:\\Users\\USER\\Desktop\\SQLDATABASES\\sampleDatabases\\bankDB");
            Connection dbConn = dataSource.getConnection();
      

         
            String queryString = "SELECT * FROM account ";
            PreparedStatement statement = dbConn.prepareStatement(queryString);
      
            ResultSet result = statement.executeQuery();
            
            //print the header line
            System.out.println("account_no, account_id, balance");
            System.out.println("--------------------------------");
            //check if result has any rows
            while (result.next()) {
               
                String accountNo = result.getString("account_no"); 
                System.out.print(accountNo + ", ");

                int accountID = result.getInt("account_id");
                System.out.print(accountID + ", ");

                int balance = result.getInt("balance");
                System.out.println(balance);
            }
        } catch (ClassNotFoundException | SQLException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }


    }
}