数据库为空时 Java 崩溃

标签 java database sqlite

我正在使用 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 行关闭,我发现这与数据库是否填充无关。

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

编辑:

连接字符串 -

“jdbc:sqlite:D:\Documents\Uni\Semester 2\Languages、平台和工具\Assignment\Java\SQLiteAssignment\mydatabasefile.db”

最佳答案

查看供应商网站后,似乎这个问题已在以后的版本中得到解决。无论如何,我最终还是更换了驱动程序,但我认为这可能对人们有用。

关于数据库为空时 Java 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5872509/

相关文章:

java - 创建的数据库出错

java - 如何在所有实现接口(interface)的类中设计一个通用的静态方法

java - Java链表插入排序

database - Hibernate一对多映射错误-mappedBy reference an unknown target entity property错误

sql-server - 加密字段的部分搜索

xcode - 将 FMDB SQLite 结果附加到 Swift 数组

Android数据库(SQLite)从空表返回非空游标

java - 在 tomcat 5.5 中部署时出错

java - Java中是否可以使用Hashmap存储同一个类的不同实例?

c# - 在执行数据库搜索时使用 OrderBy 查询对不带第一个字符的数字进行排序