Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用游标从SQLite数据库获取值并转换为int_Java_Android_Sqlite - Fatal编程技术网

Java 使用游标从SQLite数据库获取值并转换为int

Java 使用游标从SQLite数据库获取值并转换为int,java,android,sqlite,Java,Android,Sqlite,这可能不是从数据库中的列中获取值的最佳方法,但到目前为止,我掌握了以下内容: 我有一个名为switches的表和一个名为levels的列。列级别是一个整数值列。我想从levels列中获取整数值。我该怎么做?我试过了,但是我无法得到整数值而不是光标 这是我的密码: SQLiteDatabase sqLiteDatabase; sqLiteDatabase = dbHandler.getReadableDatabase(); s

这可能不是从数据库中的列中获取值的最佳方法,但到目前为止,我掌握了以下内容:

我有一个名为switches的表和一个名为levels的列。列级别是一个整数值列。我想从levels列中获取整数值。我该怎么做?我试过了,但是我无法得到整数值而不是光标

这是我的密码:

            SQLiteDatabase sqLiteDatabase;
            sqLiteDatabase = dbHandler.getReadableDatabase();
            sqLiteDatabase.beginTransaction();
            Cursor cursor;
            Integer level;

            String select_level = "SELECT level FROM switches";

            cursor = sqLiteDatabase.rawQuery(select_level, null);
            level = Integer.parseInt(cursor.toString());
问题是游标不是整数,所以我想先转换为字符串,然后再转换为int,但似乎我遇到了数字格式的异常。我想这是因为光标给了我列名和整数值


如何使用原始SQL和SQLite数据库获取特定列的整数值

在这行代码之后

cursor = sqLiteDatabase.rawQuery(select_level, null);
添加下面的代码

while (cursor.moveToNext()) {
level = cursor.getInt(0);
}

哦,我明白了,如果我想填充一个列表,如果我有几个级别,我想把我从数据库中得到的级别放入一个列表中?也就是说,出于某种原因,上面给出了db表中的最后一个值。如果我想要第一个值怎么办?@Euridice01,要从db获取第一个值,请相应地修改select查询。可能Asc的订单也会有帮助。。。或者在while语句中,在赋值后添加break语句。那会解决你的目的。