SQLITE 错误或缺少数据库(没有这样的 table: 路径)
SQLITE error or missing database (no such table: Path)
try {
// db parameters
String url = "jdbc:sqlite: db_path.db";
// create a connection to the database
conn = DriverManager.getConnection(url);
System.out.println("Connection to SQLite has been established.");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
连接数据库后,在项目文件夹中创建了一个具有相同名称和大小 0Kb 的重复文件
String query = "INSERT INTO Path VALUES (?)";
try {
PreparedStatement state = DB_Path.conn.prepareStatement(query);
state.setString(1,path);
} catch (SQLException e) {
System.out.println(e.getMessage());
}
您的连接没有访问现有数据库文件的权限。所以它创建了一个新的(不同的)文件
问题出在数据库文件的 url 中,即 space 在 jdbc:sqlite 之间:和 db_path.db
正确的方法是:
url = "jdbc:sqlite:db_path.db;
您也可以使用绝对路径,但请记住上面的错误行,为了在目录中定位某些文件,最好使用反斜杠 b/w 目录,因为它用于 windows路径系统和 java 语法它出现两次,像这样,
url = "jdbc:sqlite:C:\Desktop\db_path.db;
或者你也可以使用正斜杠,
url = "jdbc:sqlite:C:/Desktop/db_path.db;
try {
// db parameters
String url = "jdbc:sqlite: db_path.db";
// create a connection to the database
conn = DriverManager.getConnection(url);
System.out.println("Connection to SQLite has been established.");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
连接数据库后,在项目文件夹中创建了一个具有相同名称和大小 0Kb 的重复文件
String query = "INSERT INTO Path VALUES (?)";
try {
PreparedStatement state = DB_Path.conn.prepareStatement(query);
state.setString(1,path);
} catch (SQLException e) {
System.out.println(e.getMessage());
}
您的连接没有访问现有数据库文件的权限。所以它创建了一个新的(不同的)文件
问题出在数据库文件的 url 中,即 space 在 jdbc:sqlite 之间:和 db_path.db
正确的方法是:
url = "jdbc:sqlite:db_path.db;
您也可以使用绝对路径,但请记住上面的错误行,为了在目录中定位某些文件,最好使用反斜杠 b/w 目录,因为它用于 windows路径系统和 java 语法它出现两次,像这样,
url = "jdbc:sqlite:C:\Desktop\db_path.db;
或者你也可以使用正斜杠,
url = "jdbc:sqlite:C:/Desktop/db_path.db;