获取Android sqlite数据库中非空记录的总数
问题描述:
我想从我的sqlite数据库中获取NOT NULL记录的数量。由于我使用的是autoinceament,所以即使我删除了任何中间记录,最后插入的行也不会给我表中的实际记录数,它会插入到比最后插入的记录更高的位置。获取Android sqlite数据库中非空记录的总数
插入语句返回最后一个插入行的数量,但是我希望这个值正在运行。
任何人都可以帮我吗?
Thanx提前。
答
在桌子上做一个计数应该工作。简单地查询id列以及NOT NULL的位置检查,并返回光标,只需调用getCount()
只是要确定:永远不要,永远永远不要操纵生产数据库中的自动增量。如果你删除了一条记录,那么“间隙”应该停留在那里。它对性能或其他任何方面都没有影响。如果在缺口中插入新记录,则可能造成很多麻烦...
答
那么您只是想查找行数? (这里为 “零记录”,据我所知没有这样的事情。)
难道你们就不能只是做
select count(1) from YourTableName
或
select count(*) from YourTableName
? (有些数据库使用一种形式或其他更快......我不知道关于sqlite)
做一个COUNT()查询可能更有效,因为Cursor实际上会填充每一行返回的行。 – EboMike 2010-12-09 07:25:09