光标到Int转换

时间:2016-01-22 16:40:51

标签: android cursor

我在将查询结果转换为整数时遇到了一些麻烦。我将查询的结果返回到游标并尝试在另一个语句中再次使用此值。我知道返回的值是一个int,但我似乎无法将值提取为整数变量。我也尝试将语句返回到一个int,但这也不起作用。

查询

public Cursor getCode(String name) throws SQLException
{
    return db.rawQuery("select recipe_code from recipes where recipe_name = " + "'"+name+"'" ,null);
}

Int转换现在正在工作

    Cursor code = adapter.getCode(string);
    code.moveToFirst();
    int test = code.getInt(0);

1 个答案:

答案 0 :(得分:1)

替换

int test = code.getInt();

int test = code.getInt(0);

您没有将列索引作为参数传递给getInt(),因此代码无效。您应该指定要选择的列。

根据docs

  

public abstract int getInt(int columnIndex)

     

以int。

的形式返回请求列的值      

结果以及此方法是否在列时抛出异常   value为null,列类型不是整数类型,也不是整数   value超出范围[Integer.MIN_VALUE,Integer.MAX_VALUE]   实现定义的。

     

参数 columnIndex目标列的从零开始的索引。

     

将该列的值作为int返回