Сбой Java, когда база данных пуста - PullRequest
1 голос
/ 03 мая 2011

Я использую драйвер 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 \ Semester 2 \ Языки, платформы и инструменты \ Назначение \ Java \ SQLiteAssignment \ mydatabasefile.db "

1 Ответ

0 голосов
/ 07 мая 2011

После просмотра веб-сайта поставщиков кажется, что это то, что было решено в более поздней сборке. Я все равно поменял драйвера, но подумал, что это может быть полезно людям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...