我有這個功能是根據幾個表中的數據填寫一個類。我得到第一個光標:將第二個光標指向android中的sqlite中的同一個數據庫,這是不是一個不?
String query="SELECT * FROM SESSION where _id =" + mSessionID + ";";
Cursor c = dbAdapter.selectRecordsFromDB(query, null);
Session session=null;
c.moveToFirst();
這很好。然後低一點我做到這一點:
long galleryId = c.getInt(4);
long packageId = c.getInt(5);
long contractId = c.getInt(6);
String query2="SELECT * FROM PHOTOPACKAGES WHERE _id =" + packageId + ";";
Cursor p = dbAdapter.selectRecordsFromDB(query2, null);
和p光標總是返回-1計數。我可以直接進入adb中的sqlite,並運行相同的查詢,其中packageId = 1,它的工作原理很好...所以不知道爲什麼這不起作用,我沒有看到任何其他錯誤...你可以不在同一個數據庫上使用兩個遊標?附: selectRecordsFromDB是一個輔助功能:
public Cursor selectRecordsFromDB(String query, String[] selectionArgs) {
Cursor c = myDataBase.rawQuery(query, selectionArgs);
return myDataBase.rawQuery(query, selectionArgs);
}
是否有任何與數據庫相關的事情發生在您在此處提供的內容(可能過早地調用了與數據庫的關係)? – Pyrodante