Android在Sqlite中按ID选择行?

UMA*_*MAR 12 sqlite android

我想在android sqlite中通过id得到一个特定的行,并编写了以下代码,但它没有返回任何记录.我编写了一个getAllRecords()从数据库返回所有记录的方法.

谁能解释我正在制造的错误?

public Bank getBankById(int bankId)
    {

        Cursor cursor=null;
        Bank bnk = null;
        cursor =  this.db.rawQuery("select * from " + BanksTable.NAME + " where " + BanksTable.COL_ID + "=" + bankId  , null);
         if (cursor != null)
            {
             if (cursor.moveToFirst())
                {
             int id = cursor.getInt(cursor.getColumnIndex(BanksTable.COL_ID));
             String name = cursor.getString(cursor.getColumnIndex(BanksTable.COL_NAME));
             String url = cursor.getString(cursor.getColumnIndex(BanksTable.COL_IMAGE_URL));
             byte[] image = cursor.getBlob(cursor.getColumnIndex(BanksTable.COL_IMAGE));
             bnk=new Bank();
             bnk.setId(id);
             bnk.setImageURL(url);
             bnk.setName(name);
             bnk.setImageByteArray(image);
                }
             cursor.close();
            }
        return bnk;

    }
Run Code Online (Sandbox Code Playgroud)

UMA*_*MAR 10

我通过将参数更改为name来结束此问题.它很奇怪,但我仍然不知道它为什么不起作用.

我得到的银行ID如0,1,2,3,4也许它不允许在SQLite或内部影响它,但我仍然不确定.

cursor =  this.db.rawQuery("select * from " + BanksTable.NAME + " where " + BanksTable.COL_NAME + "='" + bankName + "'" , null);
Run Code Online (Sandbox Code Playgroud)