1
我正在使用SQLite JDBC驅動程序來訪問數據庫,由於某種原因,如果數據庫中沒有行,並且爲什麼會發生這種情況,應用程序會終止。數據庫爲空時Java崩潰
如果數據庫不是空的,它可以很好地工作;
這是終止發生:
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:\文件\統一\學期2種\語言,平臺和工具\轉讓\的Java \ SQLiteAssignment \ mydatabasefile.db 「
你能發佈你的_connectionString是什麼嗎? – Casey 2011-05-03 16:21:40
ouch。看起來它可能是jdbc驅動程序中的一個錯誤。 – Casey 2011-05-03 16:23:00
我確信它的工作之前,現在沒有=/ – 2011-05-03 16:25:53