我在表格中插入了一条记录。它成功,因为.insert()返回新的行ID,我使用该id来查询原因_id = id。 我成功回归
但是当我使用SELECT * FROM TABLE(无原因)查询时,它返回空光标!
请帮我解决这个问题
这是插入方法
public String insertCategory(String name, int color) {
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COLUMN_NAME, name);
cv.put(COLUMN_COLOR, color);
long id;
try {
id = db.insertOrThrow(TABLE_CATEGORIES, null, cv);
} catch (Exception e) {
return null;
}
Cursor row = getRowById(db, TABLE_CATEGORIES, id, new String[] {
COLUMN_ID, COLUMN_NAME });
if (row.getCount() > 0) {
if (row.moveToNext()) {
return row.getString(row.getColumnIndex(COLUMN_NAME));
} else
return null;
} else
return null;
}
这是我用来查询原因的方法
private Cursor getRowById(SQLiteDatabase db, String table, long id,
String[] columns) {
Cursor cursor = db.query(table, columns, COLUMN_ID + " = ?",
new String[] { "" + id }, null, null, null);
return cursor;
}
最后,这里是我用于查询所有行的方法
public Cursor getAllCategories() {
SQLiteDatabase db = getWritableDatabase();
Cursor cursor = db.query(TABLE_CATEGORIES, null, null, null, null,
null, null);
db.close();
return cursor;
}
感谢您的帮助