卡在此方法中会从表中返回错误的值

时间:2012-01-18 14:18:46

标签: android

 public int countGuestvisitnew() throws SQLException {
    Log.v("", " count when 1111 click = ");

    try {

        Cursor c = db.rawQuery("select count(*) from guestvisitsnew", null);
        if (c.getCount() > 0) {
        int f=c.getCount();

            Log.v("", " count1212121 whenbus click =/// " + f);
            return f;


    } 
    }catch (Exception e) {
        e.printStackTrace();
    }

    return 0;
}

总是得到count = 1,但是guestvisitsnew表中没有数据。如何从表中获取行数。 请帮帮我。

谢谢。

2 个答案:

答案 0 :(得分:0)

count(行数)是1,因为你试图选择count(*)来返回行数

将您的代码更改为

Cursor c = db.rawQuery("select count(*) from guestvisitsnew", null);
int noOfRows = c.getInt(0);
....

答案 1 :(得分:0)

select count(*) from guestvisitsnew

将返回1行,其中包含count(*)

c.getCount()
然后

将返回1.

将其更改为:

int f=c.getInt(0);
if (f > 0) {
    Log.v("", " count1212121 whenbus click =/// " + f);
    return f;
}