使用query方法查找sqlite数据库时,返回的接口cursor如何判断

时间:2021-11-20 22:53:40
如题,当查找的数据不存在,或者sqlite表里面没有数据,那么query返回的cursor是个空值吗? 能通过cursor == null 判断出来吗?

9 个解决方案

#1


不行,不是为空。直接判断moveToNext

#2


1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

#3


要先判断cursor不为null的情况下,在判断cursor.moveToNext是否为true;


Cursor c = sqlite.rawQuery(sql, null);
if (c != null) {
while (c.moveToNext()) {
                                    //在这里执行取数据
                                //String 类型的数据这样取:   
                                c.getString(c.getColumnIndex(字段名);
     }
}


 

#4


引用 楼主 jackzhouyu 的回复:
如题,当查找的数据不存在,或者sqlite表里面没有数据,那么query返回的cursor是个空值吗? 能通过cursor == null 判断出来吗?

恩  确实不为空  昨天试了下

#5


引用 2 楼 hjq2013 的回复:
1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

  

这段代码,如果没有查询到数据,这个cursor里面是啥,这句c.getString(c.getColumnIndex(字段名);返回这个字段名的字符串吗?没有的话是不是返回空或者-1

#6


引用 5 楼 jackzhouyu 的回复:
Quote: 引用 2 楼 hjq2013 的回复:

1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

  

这段代码,如果没有查询到数据,这个cursor里面是啥,这句c.getString(c.getColumnIndex(字段名);返回这个字段名的字符串吗?没有的话是不是返回空或者-1
String类型的返回null

#7


引用 5 楼 jackzhouyu 的回复:
Quote: 引用 2 楼 hjq2013 的回复:

1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

  

这段代码,如果没有查询到数据,这个cursor里面是啥,这句c.getString(c.getColumnIndex(字段名);返回这个字段名的字符串吗?没有的话是不是返回空或者-1

数据库查询函数rawquery可否用query替代呢

#8


if(cursor.moveToFirst) {

if(cursor.moveToFirst) {
     do {
          //该干删干啥
    }while(cursor.moveToNext);
}
//我一直是这样子做的

#9


引用 8 楼 cch920821 的回复:
if(cursor.moveToFirst) {

if(cursor.moveToFirst) {
     do {
          //该干删干啥
    }while(cursor.moveToNext);
}
//我一直是这样子做的


我一直用的是while(cursor.movetoNext){
//。。。 。。。
}

#1


不行,不是为空。直接判断moveToNext

#2


1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

#3


要先判断cursor不为null的情况下,在判断cursor.moveToNext是否为true;


Cursor c = sqlite.rawQuery(sql, null);
if (c != null) {
while (c.moveToNext()) {
                                    //在这里执行取数据
                                //String 类型的数据这样取:   
                                c.getString(c.getColumnIndex(字段名);
     }
}


 

#4


引用 楼主 jackzhouyu 的回复:
如题,当查找的数据不存在,或者sqlite表里面没有数据,那么query返回的cursor是个空值吗? 能通过cursor == null 判断出来吗?

恩  确实不为空  昨天试了下

#5


引用 2 楼 hjq2013 的回复:
1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

  

这段代码,如果没有查询到数据,这个cursor里面是啥,这句c.getString(c.getColumnIndex(字段名);返回这个字段名的字符串吗?没有的话是不是返回空或者-1

#6


引用 5 楼 jackzhouyu 的回复:
Quote: 引用 2 楼 hjq2013 的回复:

1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

  

这段代码,如果没有查询到数据,这个cursor里面是啥,这句c.getString(c.getColumnIndex(字段名);返回这个字段名的字符串吗?没有的话是不是返回空或者-1
String类型的返回null

#7


引用 5 楼 jackzhouyu 的回复:
Quote: 引用 2 楼 hjq2013 的回复:

1楼正解,
使用query方法查找sqlite数据库时,返回的接口cursor如何判断

  

这段代码,如果没有查询到数据,这个cursor里面是啥,这句c.getString(c.getColumnIndex(字段名);返回这个字段名的字符串吗?没有的话是不是返回空或者-1

数据库查询函数rawquery可否用query替代呢

#8


if(cursor.moveToFirst) {

if(cursor.moveToFirst) {
     do {
          //该干删干啥
    }while(cursor.moveToNext);
}
//我一直是这样子做的

#9


引用 8 楼 cch920821 的回复:
if(cursor.moveToFirst) {

if(cursor.moveToFirst) {
     do {
          //该干删干啥
    }while(cursor.moveToNext);
}
//我一直是这样子做的


我一直用的是while(cursor.movetoNext){
//。。。 。。。
}