Cursor cur = mysql.rawQuery("SELECT * FROM classes WHERE name = 'aab';", null);     
if (cur != null) 
{   
    while (cur.moveToNext()) 
    {    
        address = cur.getString(4);   
    }   
    Toast.makeText(TimetableActivity.this, "0", Toast.LENGTH_LONG).show();  
}    
else
{      
    Toast.makeText(TimetableActivity.this, "1", Toast.LENGTH_LONG).show();     
}     
cur.close();说明:表名是classes,一张课程表,name是课程的名字,address是上课地点。
在我的表里,上课地点address是从开始的第4列数据。
运行后每次都是弹出 “0”泡泡框,可是我的表里没有aab这个名字的课程啊?
弹出的不是应该是“1”泡泡框
本人初学。。求指教 AndroidSQLCursor

解决方案 »

  1.   


    Cursor cur = null;
    try {
    cur = mysql.rawQuery(
    "SELECT * FROM classes WHERE name = 'aab';", null);
    if (cur != null) {
    // 这句是必须的
    cur.moveToFirst();
    int count = cur.getCount();
    if (count > 0) {
    while (cur.moveToNext()) {
    address = cur.getString(4);
    }
    Toast.makeText(TimetableActivity.this, "0",Toast.LENGTH_LONG).show();
    } else {
    Toast.makeText(TimetableActivity.this, "1",Toast.LENGTH_LONG).show();
    } } else {
    Toast.makeText(TimetableActivity.this, "1",Toast.LENGTH_LONG).show();
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if (cur != null) {
    cur.close();
    }
    }
      

  2.   

    Cursor cur = mysql.rawQuery("SELECT * FROM classes WHERE name = 'aab';", null);     
    if (cur != null &&  (cur.getCount() > 0))  -----改成这样就可以了
      

  3.   

    本来就不等于null,结果是0,你可以打印一下cur.getCount();四楼人家说的我同意!