Android 尝试从数据库获取值时,光标索引超出范围

Android 尝试从数据库获取值时,光标索引超出范围,android,sql,Android,Sql,我正在尝试创建一个从数据库返回值的方法,我正在获取CursorIndexOutOfBounds: (第94行是:String count=c.getString(1);) 日志: 07-07 19:51:53.408: E/AndroidRuntime(27923): FATAL EXCEPTION: main 07-07 19:51:53.408: E/AndroidRuntime(27923): android.database.CursorIndexOutOfBoundsException

我正在尝试创建一个从数据库返回值的方法,我正在获取CursorIndexOutOfBounds: (第94行是:String count=c.getString(1);)

日志:

07-07 19:51:53.408: E/AndroidRuntime(27923): FATAL EXCEPTION: main
07-07 19:51:53.408: E/AndroidRuntime(27923): android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
07-07 19:51:53.408: E/AndroidRuntime(27923):    at android.database.AbstractCursor.checkPosition(AbstractCursor.java:424)
07-07 19:51:53.408: E/AndroidRuntime(27923):    at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
07-07 19:51:53.408: E/AndroidRuntime(27923):    at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
07-07 19:51:53.408: E/AndroidRuntime(27923):    at com.example.fartsound.MyDataBase.getCount(MyDataBase.java:94)

光标从“0”开始使用以下命令:

String count = c.getString(0);
在if语句中移动
c.moveToFirst()
。如果返回false,则光标为空,并将得到该错误

if (c != null && c.moveToFirst()) 

moveToFirst()方法的文献:

公共抽象布尔值moveToFirst()将光标移动到第一行。如果光标为空,此方法将返回false

返回移动是否成功

因此,moveToFirst调用失败(因为CURSOR有0个元素),这就是崩溃的原因

这样做:

if(c != null && c.moveToFirst()) {
      String count = c.getString(0);
      return count;
}

尝试过,仍然得到相同的结果,此外,我希望第二列的值为null,这意味着什么?(该方法返回null),因为您返回null,这意味着您的游标为空,这意味着表为空?或者您的数据库中没有支持该查询的内容
if(c != null && c.moveToFirst()) {
      String count = c.getString(0);
      return count;
}