微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android-从SQLite返回int结果

所以我想找到最大ID并通过添加1返回它.

以下是我在sqlhelper中的代码.它看起来太错了,因为它的公共空白出现了,但是我返回了CR.我有点困惑,因为使用游标读取记录,但是我只希望使用SQL查询返回整数的结果.

 public int getID( String name){
    String idquery="SELECT IFNULL(MAX(id),0)+1 FROM "+TableInfo.TABLE_NAME+ " WHERE appliance="+name;
    sqliteDatabase SQ=this.getReadableDatabase();
    Cursor CR=SQ.rawQuery(idquery,null);
    return CR;
}

这就是我从其他活动中称呼它的方式

int no_id=DB.getID(name);

有人请帮助我.谢谢.

解决方法:

您必须喜欢:

public int getID( String name){

    String idquery="SELECT IFNULL(MAX(id),0)+1 FROM "+TableInfo.TABLE_NAME+ " WHERE appliance="+name;

    sqliteDatabase SQ=this.getReadableDatabase();
    Cursor CR=SQ.rawQuery(idquery,null);


     int id = -1;

     if (CR != null && CR.getCount() > 0) {
         CR.movetoFirst();
         id = CR.getInt(c.getColumnIndex(YOUR_COLUMN_NAME));
         CR.close();
     }
     return id;
}

编辑:

查询IFNULL(MAX(id),0)1中的列alias更改为IFNULL(MAX(id),0)1,如maxcount,然后可以在从游标中获取值时给它:

id = CR.getInt(c.getColumnIndex("maxcount"));

它将根据需要返回Integer.

希望对您有帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐