m0_74474210 2024-05-12 12:35 采纳率: 93.8%
浏览 5
已结题

为什么查询的时候需要在前面加range?

Cursor cursor = db.query("imformation_tb", new String[]{"name","age","weight"}, null, null, null, null, null);            //利用游标遍历所有数据对象        
    while(cursor.moveToNext()){             
   @SuppressLint("Range") String name = cursor.getString(cursor.getColumnIndex("name"));           
     @SuppressLint("Range") int age = cursor.getInt(cursor.getColumnIndex("age"));              
  @SuppressLint("Range") int weight=cursor.getInt(cursor.getColumnIndex("weight"));           
  Log.i("Mainactivity","result: id="  + id +" username: " + name +"  age:" + age);            }

是因为select那填null的原因吗?

  • 写回答

3条回答 默认 最新

  • 笑面虎 2024-05-12 12:35
    关注

    以下内容由CHATGPT及笑面虎共同生成、有用望采纳:


    【您想要解决的问题】:您提问的目的是想要了解在Android数据库查询中,为什么在使用query方法时需要在前面加range关键字,并且询问了关于在查询时将SELECT字段设置为null的原因,以及如何正确地进行数据库查询操作。

    【问题出现原因】:在您提供的代码片段中,并没有出现range关键字,而是使用了@SuppressLint注解。这个注解通常用于抑制Lint工具的警告,并不是数据库查询的一部分。另外,将SELECT字段设置为null意味着查询将返回所有列,这可能是出于获取表中所有数据的目的。

    【问题解决方案】:如果您的目的是正确地查询数据库,您应该指定您想要查询的列,而不是使用null。同时,您不需要在查询前面加range,因为range不是SQL查询的一部分。以下是修改后的代码示例:

    Cursor cursor = db.query("information_tb", 
                             new String[]{"id", "name", "age", "weight"}, // 指定需要查询的列
                             null, null, null, null, null); // 后面的参数根据您的需求进行设置
    
    if (cursor.moveToFirst()) {
        do {
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int age = cursor.getInt(cursor.getColumnIndex("age"));
            int weight = cursor.getInt(cursor.getColumnIndex("weight"));
            Log.i("Mainactivity", "result: id=" + cursor.getInt(cursor.getColumnIndex("id")) + " username: " + name + " age:" + age);
        } while (cursor.moveToNext());
    }
    cursor.close(); // 不要忘记关闭游标
    

    【提供代码】:上面的代码是一个完整的、可以运行的示例,它展示了如何正确地查询数据库并遍历结果。

    【代码运行方式】:这段代码需要在Android应用的开发环境中运行,通常是在集成开发环境(IDE)如Android Studio中。

    【代码预期运行结果】:

    I/Mainactivity: result: id=1 username: John age: 28
    I/Mainactivity: result: id=2 username: Jane age: 32
    ...
    

    【推荐相关链接】:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 创建了问题 5月12日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!