如题。
赋值语句没有被执行
比如:Cursor cursor = getCursor();public Cursor getCursor() {
   Cursor c = //从数据库中查询
   System.out.println(c.getCount());
   return c;
}就是这样,我发现某个情况下这个赋值语句不执行了,因为我发现没有打印出东西。。
这是什么情况导致的?

解决方案 »

  1.   

    1 检查是否调用
    2 Cursor 这个语句是否出现了错误,比如数据库长期查询,处于等待结果状态,或者在一个不可预知的位置停住。都可能不再执行。
    3 其他线程的影响。比如其他线程运行把这个线程影响了。设置了静态或者其他的什么。
    可能性太多了。建议你先屏蔽掉其他代码再查。
      

  2.   

    如果没有取到数据,而又调用getCount方法的话,应该会报错吧?但是那句输出语句根本没有执行啊
      

  3.   

    先把数据库中的数据少放一些,或者修改查询条件,只查询出几条数据,看看能不能成功查询到。
    另外,可以用Log.d输出信息,看看。android APP中一般是用Log.v,Log.d,Log.w,Log.e输出log信息。
      

  4.   

    在查询前后都输出log信息,不就知道执行查询了没有。
      

  5.   

    不习惯用log。。我发现前后都没有输出信息。。也就是查询没有执行了。。一头雾水
      

  6.   

    如果你用的是sqlite不执行是正常的。因为sqlite在执行onMove的时候才真正的执行。也就是我们调用moveToFirst、movieToNext的时候才执行。
      

  7.   

    我发现是我的getCursor方法写得不当,
    在里面其中一个case语句不小心调用了成员变量cursor,返回的却是方法变量c,所以就报空指针了。。晕死,粗心大意结贴了吧。。谢谢上面各位