我试图编写一个使用SQLiteDatabase.rawQuery返回整数列表的函数。 这就是我想象它但不起作用的方式..
public List<Integer> queryInt(String sql, String[] whereArgs){
//fetch string array
List<Integer> r = new ArrayList<Integer> ();
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(
sql,
whereArgs
);
return c.toInt(); //something that does this
}
如果有人有线索,谢谢你的帮助!
答案 0 :(得分:1)
您需要在Cursor中移动才能访问任何数据(最初Cursor将位于第一行(位置-1)之前)。
因此,您的devise_for :admins
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
方法可能是: -
queryInt
public List<Integer> queryInt(String sql, String[] whereArgs){
//fetch string array
List<Integer> r = new ArrayList<>();
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery(
sql,
whereArgs
);
// Loop through the Cursor
while(c.moveToNext()) {
r.add(c.getInt(0)); //<<<< see note
}
c.close(); //<<<< Should always close a Cursor when done with it.
return r;
}
。