我想要做的是搜索我的数据库中的字符串,然后找出行ID是该字符串的位置。
我想这样做
public void getRow(){
ContactDB db = new ContactDB(this);
db.open();
Cursor c = db.getId("1234567890");
String test = c.getString(c.getColumnIndex(db.PHONE_NUMBER));
Log.v("Contact", "Row ID: " + test);
db.close();
数据库类
public Cursor getId(String where){
return db.query(DATABASE_TABLE, new String[] {ID},where,null,null,null,null);
}
它会给我我想要的但是我得到一个“游标索引越界”错误,我应该怎么做呢?
答案 0 :(得分:1)
将getId更改为:
public Cursor getId(String where){
Cursor c = db.query(DATABASE_TABLE, new String[] {ID},where,null,null,null,null);
if (c != null) c.moveToFirst();
return c;
}
答案 1 :(得分:0)
您需要在绑定之前执行c.moveToFirst()以阅读任何信息。
完成后也要做c.close()。