Java org.sqlite.SQLiteException:[sqlite\u ERROR]SQL错误或缺少数据库(没有这样的表:account)
我知道这个问题可能重复了好几次,但我找不到这个问题的真正答案 “所以我想将sqlite数据库连接到Java应用程序,我使用Intellij并使用sqlite-jdbc-3.34.0作为外部库 我正在尝试使用select从数据库“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
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);
}
}
}