数据库为空时Java崩溃

数据库为空时Java崩溃,java,database,sqlite,Java,Database,Sqlite,我正在使用SQLite JDBC驱动程序访问数据库,出于某种原因,如果数据库中没有行,应用程序将终止,而对发生的原因几乎没有解释 如果数据库不是空的,它工作得很好 这是终止发生的地方: public static CustomFillTable Select(String table, String[] column, Object operand) throws SQLException { Connection connection = null; P

我正在使用SQLite JDBC驱动程序访问数据库,出于某种原因,如果数据库中没有行,应用程序将终止,而对发生的原因几乎没有解释

如果数据库不是空的,它工作得很好

这是终止发生的地方:

public static CustomFillTable Select(String table, String[] column, Object operand) throws SQLException
    {
        Connection connection = null;
        PreparedStatement ps = null;

        try
        {  
            StringBuilder query = new StringBuilder();

            query.append("select ");

            for(int i = 0; i < column.length; i++)
            {
                query.append(column[i]);

                if(i < column.length -1)
                {
                    query.append(",");
                }
            }

            query.append(" from ");
            query.append(table);

            //Verify usage of where clause
            if(operand != null)
            {
                query.append(" where ");
                query.append(operand);
            }

            //Termination occurs here
            connection = DriverManager.getConnection(_connectionString);
            connection.setAutoCommit(false);
            ps = connection.prepareStatement(query.toString());
            ResultSet rs = ps.executeQuery();
            connection.commit();
            CustomFillTable model = new CustomFillTable(rs);
            while(rs.next())
            {
                System.out.println("id = " + rs.getString("id"));
                System.out.println("name = " + rs.getString("name"));
            }

            return model;
        }
应用程序在DriverManager.getConnection行关闭,我发现这与是否填充数据库无关

有人知道如何解决这个问题吗?我已经发布了日志转储信息

编辑:

连接字符串-


jdbc:sqlite:D:\Documents\Uni\sterm 2\Languages,Platforms and Tools\Assignment\Java\SQLiteAssignment\mydatabasefile.db

查看供应商网站后,似乎在以后的构建中已经解决了这个问题。不管怎样,我最终还是换了驱动程序,但我认为这可能对人们有用。

你能发布你的连接字符串是什么吗?哎哟。这看起来可能是jdbc驱动程序中的一个bug。我确信它以前工作过,现在没事了=/是的,这看起来像是驱动程序中的一个bug。你以前在干什么?你是否升级了某个驱动程序?注意到我知道,我昨天尝试了另一个驱动程序,但决定不升级。我在几周前重新实现了一个备份,它也做了同样的事情,我真的不明白到底发生了什么。