gpt4 book ai didi

android - 从 SQLite 返回一个 int 结果

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:29 24 4
gpt4 key购买 nike

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

以下是我在 SQLhelper 中的代码。它看起来很不对劲,因为它的公共(public)无效但我返回了 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;
}

这就是我从另一个 Activity 中调用它的方式

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;
}

已编辑:

更改您的专栏 alias在查询中 IFNULL(MAX(id),0)+1 就像 IFNULL(MAX(id),0)+1 as maxcount 然后你可以在从游标中获取值的同时给它:

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

它会根据需要返回 Integer。

希望对你有帮助。

关于android - 从 SQLite 返回一个 int 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37223042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com