当前位置: 代码迷 >> 综合 >> [android sqlite]cursor读取数据表行列里面的所有数据;cursor仅读取了第一行;cursor移动问题;moveToNext返回false
  详细解决方案

[android sqlite]cursor读取数据表行列里面的所有数据;cursor仅读取了第一行;cursor移动问题;moveToNext返回false

热度:73   发布时间:2024-01-24 05:11:26.0

程序从sqlite数据库读取数据并放入ListView组件中,然而实际运行的时候总是只能读出第一行的数据。代码如下:

cursor.moveToFirst();
int colNum = cursor.getColumnCount();
do{
    for(int i=0;i<=colNum;++i){
        list.add(cursor.getString(i));
    }
}while (cursor.moveToNext());

找了很久……发现是自己当时以为cursor.getString应该从1开始,然后就把循环终止条件设为i<=colNum,结果这里的调用越界之后,cursor.moveToNext就直接为false了???也是很疑惑

所以这样就没问题了……

cursor.moveToFirst();
int colNum = cursor.getColumnCount();
do{
    for(int i=0;i<colNum;++i){
        list.add(cursor.getString(i));
    }
}while (cursor.moveToNext());

 

  相关解决方案