我想在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)
| 归档时间: |
|
| 查看次数: |
31367 次 |
| 最近记录: |