【发布时间】:2026-01-31 11:00:02
【问题描述】:
我正在开发一个 jframe,通过使用文本字段等将一些数据存储在数据库中。我有以下用于数据库连接的代码。我正在使用 sqlite 数据库。
**Connectdatabase.java**
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package shreesai;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
*
* @author DeepRocks
*/
public class Connectdatabase {
Connection con = null;
public static Connection ConnecrDb(){
try{
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("jdbc:sqlite:G:\\Development\\Project\\database\\shreesai.sqlite");
return con;
}
catch(ClassNotFoundException | SQLException e){
JOptionPane.showMessageDialog(null,"Problem with connection of database");
return null;
}
}
}****
/* 一切都很好,但我希望如果我将此项目导出到 JAR 并且我的客户将从不同的路径运行 JAR 然后????*/
我试过使用这个代码
public class Connectdatabase {
Connection con = null;
public static Connection ConnecrDb(){
try{
String dir = System.getProperty("user.dir");
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("jdbc:sqlite:"+dir+"shreesai.sqlite");
return con;
}
catch(ClassNotFoundException | SQLException e){
JOptionPane.showMessageDialog(null,"Problem with connection of database");
return null;
}
}
}
即使我尝试过这个:
public class Connectdatabase {
Connection con = null;
public static Connection ConnecrDb(){
try{
String dir = System.getProperty("user.dir");
String maindir = dir + File.separator + File.separator ;
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("jdbc:sqlite:"+maindir+"shreesai.sqlite");
return con;
}
catch(ClassNotFoundException | SQLException e){
JOptionPane.showMessageDialog(null,"Problem with connection of database");
return null;
}
}
}
但是NOTHING我认为双反斜杠一定有问题导致目录返回:G:\Development\Project\database。我们想要 G:\\Development\\Project\\database\\
有什么帮助吗?
【问题讨论】: