我在将查询结果转换为整数时遇到了一些麻烦。我将查询的结果返回到游标并尝试在另一个语句中再次使用此值。我知道返回的值是一个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);
答案 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返回。