AM
Пытаюсь записать инфу с БД в объект но вылетает такое
Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
вот код
fun readRouteData(bus : BusDB) : MutableList<RouteDB>{
var list : MutableList<RouteDB> = ArrayList()
val db = this.readableDatabase
val query = "Select * from " + TABLE_ROUTE + " WHERE " + COL_ROUTE_BUSID + " = " + bus.id
val result = db.rawQuery(query,null)
println(result)
if(result.moveToFirst()){
do {
var route = RouteDB()
route.id = result.getInt(result.getColumnIndex(COL_ROUTE_ID))
route.stationName = result.getString(result.getColumnIndex(COL_ROUTE_STATIONNAME))
route.stopTime = result.getString(result.getColumnIndex(COL_ROUTE_STOPTIME))
route.stationId = result.getInt(result.getColumnIndex(COL_ROUTE_STATIONID))
route.busId = result.getInt(result.getColumnIndex(COL_ROUTE_BUSID))
list.add(route)
}while (result.moveToNext())
}
result.close()
db.close()
return list
}
2. Проверьте, на какой строке конкретно ошибка; в этой строке будет видно, какая именно колонка не нашлась.
3. Проверьте ваш DDL-запрос (тот, который CREATE TABLE), возможно, вы там найдёте пропущенную колонку.
4. Перестаньте клеить SQL-запросв руками, и совершенно точно перестаньте туда вклеивать значения в WHERE clause -- SQLite, в том числе на ведре, умеет в placeholders.
5. Пишите в профильный чат -- @android_ru.