对于获取数据库中的记录数量的方法,其实应该是很简单的问题,之所以发文把此方法写出来,是因为有一些需要地方需要注意,避免其他人再在此问题上浪费时间。
方法一:
1 2 3 4 5 |
Cursor cursor = db.rawQuery("select count(*) as gcount from goods", null); cursor.moveToFirst(); if(cursor.getInt(cursor.getColumnIndex("gcount")) == 0){ ..... } |
这是一个很普通的方法,通过sql语句获取数量并赋给一个sql别名字段,然后通过这个别名来获取记录的数量,但是需要注意的是必须要有cursor.moveToFirst(),这个函数,因为rawQuery执行完成后返回的Cursor不是定位到第一条记录的,而是定位到第一条记录之前,所以必须要moveToFirst让记录定位一下才能读取数据,同样地获取其他的数据的时候也要在其之前调用此函数。
如果是读取多条记录的时候我们一般会用
1 2 3 |
while (cursor.moveToNext()){ .... } |
方法二:
1 2 3 4 |
Cursor cursor1 = db.rawQuery("select id from boxes", null); if(cursor1.getCount() == 0){ .... } |
此方法需要注意的是,sql语句select的时候最好不要select *这样会把所有字段的数据都读出来,浪费内存,效率低。