四瓣纸鹤
2015-04-11 14:12
采纳率: 50%
浏览 3.9k

android查找数据库中是否有记录

在sqlite中查找是否有学号为123的记录,如果没有的话下面怎么来判断
Cursor result = db.rawQuery("SELECT 学号 FROM grade WHERE 学号 = 123", null);

if(???){
Toast.makeText(TheacherView.this, "学号不存在", Toast.LENGTH_SHORT).show();
大家看看,问号这里该写啥。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • devmiao 2015-04-11 15:04
    已采纳

    用select count(*)from table where...

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • danielinbiti 2015-04-11 14:45
    执行查询,都会返回一个 Cursor,这是 Android 的 SQLite 数据库游标,使用游标,你可以:
    
    通过使用 getCount() 方法得到结果集中有多少记录;
    
    通过 moveToFirst(), moveToNext(), 和 isAfterLast() 方法遍历所有记录;
    
    通过 getColumnNames() 得到字段名;
    
    通过 getColumnIndex() 转换成字段号;
    
    通过 getString(),getInt() 等方法得到给定字段当前记录的值;
    
    通过 requery() 方法重新执行查询得到游标;
    
    通过 close() 方法释放游标资源;
    
    例如,下面代码遍历 mytable 表
    
     Cursor result=db.rawQuery("SELECT ID, name, inventory FROM mytable"); 
        result.moveToFirst(); 
        while (!result.isAfterLast()) { 
            int id=result.getInt(0); 
            String name=result.getString(1); 
            int inventory=result.getInt(2); 
            // do something useful with these 
            result.moveToNext(); 
          } 
          result.close(); 
    
    评论
    解决 无用
    打赏 举报
  • yubo_725 2015-04-12 01:33

    cursor.moveToNext()返回一个boolean类型的值。可以通过while循环遍历cursor中的数据,没有的话,用cursor == null来判断就可以了吧

    评论
    解决 无用
    打赏 举报
  • 扯线木偶人 2015-04-12 04:05

    if(!moveToNext())

    评论
    解决 无用
    打赏 举报