Я использую драйвер 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 "