自動インクリメントを使用して、Android で作成した SQL テーブルから行 ID (_id) を取得しようとしています。主キー フィールドを除くテーブル内の他のすべてのフィールドを確認できます。この id はテーブルのコードです:
public static final String ID = "_id";
public static final String JOKE = "Joke";
public static final String AUTHOR = "Author";
public static final String DATE = "Date";
public static final String STATUS = "Status";
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " ( "
+ ID + " INTEGER PRIMARY KEY AUTOINCREMENT , "
+ JOKE + " TEXT, "
+ AUTHOR + " TEXT, "
+ DATE + " DATE, "
+ STATUS + " TEXT "
+ ")");
}
フィールドのインデックスを取得しようとすると、フィールド ID に -1 が返されます
Cursor cur = context.getContentResolver().query(MyContentProvider.CONTENT_URI, null, null, null, null);
if (cur.moveToFirst()) {
int idColumn = cur.getColumnIndex("_id");
int authorColumn = cur.getColumnIndex("Author");
int statusColumn = cur.getColumnIndex("Status");
int dateColumn = cur.getColumnIndex("Date");
他のすべてのフィールドのインデックスを見ることができますが、キー フィールド (_id) は誰でも助けてくれますか?