有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javai如何在项目文件所在的同一文件夹中重新引用Sqlite数据库?

我在一个java管理系统上工作,我使用sqlite作为我的主数据库。我正在使用netbeans gui builder处理我的项目。我在谷歌上搜索了如何在项目文件的同一目录中引用sqlite数据库,但没有包括像c://filepath这样的完整路径,这让我觉得有些不知所措。我不想包括我的数据库的完整路径,我想使用项目文件中的sqlite文件,这样即使在分发我的项目后,一切都会顺利进行

我的连接类当前看起来像这样

import java.sql.Connection;
import java.sql.DriverManager;

public class Connect {
    private static Connection con = null; 

    public static Connection connecting(){

        try{
            Class.forName("org.sqlite.JDBC"); 
            con = DriverManager.getConnection("jdbc:sqlite:programming.sqlite");
            JOptionPane.showMessageDialog(null, "Working", null, JOptionPane.INFORMATION_MESSAGE);

        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.getMessage(), null, JOptionPane.ERROR_MESSAGE); 
        }
        return con; 
    }

}

然而,这似乎不起作用。。请记住,连接类和数据库保存在同一目录中

请注意,我正在避免像c://users/programming.sqlite这样的绝对路径

有什么可以帮忙的吗


共 (1) 个答案

  1. # 1 楼答案

    我认为它必须如您所示工作,但是,您可以将programming.sqlite作为java.io.File加载,然后将绝对路径放入jdbc url连接。我是说:

    File temp = new File("programming.sqlite");
    String connection = "jdbc:sqlite:" + temp.getAbsolutePath().replace("\\","\\\\");
    con = DriverManager.getConnection(connection);
    ...
    

    如果这段代码不适合您,那么您的问题一定是programming.sqlite位置,因为在这种情况下,它不在java程序的同一home dir上