我有一個小的Android應用程序,目前我在android中觸發一個sql語句來獲取特定where子句的數據庫中的行數。在Android中記錄SQL語句;由應用程序啓動
下面是我的示例代碼:
public boolean exists(Balloon balloon) {
if(balloon != null) {
Cursor c = null;
String count_query = "Select count(*) from balloons where _id = ?";
try {
c = getReadableDatabase().rawQuery(count_query, new String[] {balloon.getId()});
if (c.getCount() > 0)
return true;
} catch(SQLException e) {
Log.e("Running Count Query", e.getMessage());
} finally {
if(c!=null) {
try {
c.close();
} catch (SQLException e) {}
}
}
}
return false;
}
此方法返回我的計數1,即使數據庫表本身就是空的。我無法弄清楚;爲什麼會發生。在數據庫中運行相同的查詢讓我的計數爲0.
我想知道是否有可能在日誌中記錄或查看所有最終在參數替換後被數據庫觸發的sql查詢;這樣我就能明白出了什麼問題。
乾杯
可以嘗試更改C = getReadableDatabase()rawQuery(count_query,新的String [] {balloon.getId()})。分成多行,每行做一件事,然後檢查每一行? – 2010-05-10 10:19:02