我想创建一个程序在任何计算机上使用它,所以当我安装它必须从它的位置导入database.sql ..所以我必须将它添加到项目的包,但是当我做了我有一条告诉的消息(java.sql.SQLException:没有这样的表:table-name),即使我确定我有一张表。 那么你能告诉我问题在哪里。或者,如果有任何方法从项目文件夹导入数据库,无论它在哪里? 谢谢!
import java.awt.*;
import java.sql.*;
import javax.swing.*;
public class dbc {
Connection conn = null;
ResultSet rs = null ;
PreparedStatement pst = null ;
public static Connection ConnecrDb() {
try {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:Tab.sqlite");
return conn;
}catch (Exception e ){
JOptionPane.showMessageDialog(null, e)
return null;
}
}
}
并且包中有一个名为Tab.sqlite
的文件答案 0 :(得分:0)
首先:您应该复制/创建数据库并收集数据库位置路径,然后当您尝试获取连接时,应将数据库urlPath放入DriverManager.getConnection(urlPath);
你也可以尝试:
public Connection DBConn() {
String connStr = "jdbc:sqlite:<location path>/myDB.db";
Connection conn = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection(connStr);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
System.exit(2);
}
return conn;
}
答案 1 :(得分:0)
我解决了这个问题,我应该这样写:
Connection conn = DriverManager.getConnection("jdbc:sqlite:/src/Tab.sqlite");
如果我想从项目包中导入sql数据库,我必须添加/src/myDB.sqlite
谢谢大家:D