0

当我从广播接收器类访问它时,光标值为零,这是我用来从数据库访问值的代码

public Cursor select_in(String num)
{
   final Cursor cur= db.rawQuery("SELECT incoming FROM contactlist WHERE number=\""+num+"\"",null);
   return cur;
}

这就是我从广播接收器类调用函数的方式,并且我已经传递了 OnReceive 方法的上下文。

openhelper=new OpenHelper(context);

this.db=openhelper.getWritableDatabase();
this.dh=new DataHelper(context);
String num=phonenumber;
Cursor cur=this.dh.select_in(num);  
if (cur.moveToFirst()){

do{
   incoming=cur.getInt(cur.getColumnIndex("incoming"));
}while(cur.moveToNext());
}

我的操作不是很繁重,因为我在广播接收器中使用它时不会在 10 秒内完成,我还关闭了数据库和光标,请任何人建议我如何获得该值。提前致谢。

4

1 回答 1

0
Cursor c ;
         try{
            c = theDatabase.query("data", new String[] {KEY_CITY, KEY_TIMEZONE, KEY_COUNTRY, KEY_TIMEZONE_DISPLAY_NAME, KEY_TIMEZONE_ID},_ID+" = '"+id+"';", null, null, null, null, null);
         }catch(Exception e){
                Log.e("CLOCK", "Error getting Timezone for "+KEY_CITY+" : "+e.getMessage());
                return null;
        }
于 2013-01-15T05:48:06.357 回答