2010-12-09 243 views
2

我想從我的sqlite數據庫中獲取NOT NULL記錄的數量。由於我使用的是autoinceament,所以即使我刪除了任何中間記錄,最後插入的行也不會給我表中的實際記錄數,它會插入到比最後插入的記錄更高的位置。獲取Android sqlite數據庫中非空記錄的總數

插入語句返回最後一個插入行的數量,但是我希望這個值正在運行。

任何人都可以幫我嗎?

Thanx提前。

回答

0

在桌子上做一個計數應該工作。簡單地查詢id列以及NOT NULL的位置檢查,並返回光標,只需調用getCount()

只是要確定:永遠不要,永遠永遠不要操縱生產數據庫中的自動增量。如果你刪除了一條記錄,那麼「間隙」應該停留在那裏。它對性能或其他任何方面都沒有影響。如果在缺口中插入新記錄,則可能造成很多麻煩...

+2

做一個COUNT()查詢可能更有效,因爲Cursor實際上會填充每一行返回的行。 – EboMike 2010-12-09 07:25:09

0

那麼您只是想查找行數? (這裏爲 「零記錄」,據我所知沒有這樣的事情。)

難道你們就不能只是做

select count(1) from YourTableName 

select count(*) from YourTableName 

? (有些數據庫使用一種形式或其他更快......我不知道關於sqlite)