我有一个小的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查询;这样我就能明白出了什么问题。
干杯
2010-05-10
Priyank
+0
可以尝试更改C = getReadableDatabase()rawQuery(count_query,新的String [] {balloon.getId()})。分成多行,每行做一件事,然后检查每一行? –
2010-05-10 10:19:02