Android SQLite检查记录是否存在无效

时间:2015-04-24 16:28:43

标签: android sql sqlite

我正在检查sqlLite表记录是否可用,它给了我记录可用,即使它不是

public void checkIfExcist(Context mCtx, String recordName, String ValueCheck) {

    DatabaseHelper mDbHelper = new DatabaseHelper(mCtx);
    SQLiteDatabase mDb = mDbHelper.getWritableDatabase();

    Cursor mCursor = mDb.rawQuery("SELECT * FROM " + SQLITE_TABLE
            + " WHERE " + recordName + " ='" + ValueCheck + "'", null);

    if (mCursor != null) {

        Toast.makeText(mCtx, "Available", 3000).show();
        /* record exist */
    } else {
        Toast.makeText(mCtx, "Not Available", 3000).show();
        /* record not exist */
    }

}

2 个答案:

答案 0 :(得分:1)

检查记录计数是否大于0,而不是检查游标的无效性 换句话说,改变这个

if (mCursor != null) {

到这个

if(mCursor.getCount() > 0) {

答案 1 :(得分:0)

rawQuery将始终返回cursor,即使它为空(与null不同)。这就是为什么它总是会通过您的null支票。

This应该回答你的问题。