4
我有一個查詢,(我使用rawQuery()
)的Android SQLite的查詢和使用遊標來處理多行
SELECT * FROM <table>
然後我存儲它返回使用遊標。從我們想要做的是,從第一行開始,所以.. cursor.moveToFirst()
然後逐列,逐列,並將其特定值存儲在變量中。然後我想進入下一行並執行相同的操作。所以我想我的問題是如何獲得遊標來處理多列?
感謝,
我有一個查詢,(我使用rawQuery()
)的Android SQLite的查詢和使用遊標來處理多行
SELECT * FROM <table>
然後我存儲它返回使用遊標。從我們想要做的是,從第一行開始,所以.. cursor.moveToFirst()
然後逐列,逐列,並將其特定值存儲在變量中。然後我想進入下一行並執行相同的操作。所以我想我的問題是如何獲得遊標來處理多列?
感謝,
我可能失去了一些東西,你會不會有一個嵌套的循環。
外環循環通過每個記錄:
while (cursor.moveToNext()) {
...
// inner loop here
...
}
和內將循環週期通過每個柱
for (i=0; i<cursor.getColumnCount(); i++) {
...
String var1 = cursor.getString(i);
...
}
我知道這是已經接受,但是一個'做{}而(光標.moveToNext());'效果更好,因爲如果您先檢查.moveToNext,則跳過第一條記錄...從經驗中學習... – AndyD273 2010-07-02 16:09:55
Are you sure?返回時光標通常位於-1位置,調用moveToNext()會將其移動到第一行。 此外,使用您的邏輯,do {}中的代碼塊將始終執行至少一次,即使該遊標不包含任何記錄。 – 2010-07-05 08:44:14