#sqlite #flutter #flutter-dependencies
#sqlite #flutter #flutter-зависимости
Вопрос:
Я пытаюсь обновить имеющуюся у меня базу данных sqlite с типом объекта, который был первоначально отправлен ей при ее создании. Когда я пытаюсь его обновить, я продолжаю получать ошибку, подробно описанную в заголовке вопроса. Почему я получаю это при обновлении и как мне это исправить? Он создал БД нормально и сохранил исходные данные нормально. Если я что-то пропустил, дайте мне знать! Спасибо!
Где я создаю новый объект сеанса и отправляю его для обновления базы данных
onTap: () {
Session session = new Session();
session.selectedQuarterStatus = quarter[index].status;
session.selectedQuarter = quarter[index].quarter;
SessionDBProvider.sessionDB.updateSession(session);
Navigator.pop(context);
},
Именно здесь создается БД. Ничего сумасшедшего
newSession(Session newSession) async {
final db = await database;
var res = await db.rawInsert('''
INSERT INTO session (
selected_quarter, status
) VALUES (?, ?)
''', [
newSession.selectedQuarter,
newSession.selectedQuarterStatus
]);
return res;
}
Здесь я пытаюсь обновить функцию с помощью объекта сеанса, и она выдает ошибку
Future<dynamic> updateSession(session) async {
final db = await database;
var res = await db.update("session", session);
}
Ответ №1:
Я предполагаю, что у вашего класса модели сеанса есть toMap()
метод. Вам нужна map()
ваша модель при обновлении базы данных. Это должно выглядеть так:
Future<dynamic> updateSession(session) async {
final db = await database;
var res = await db.update("session", session.toMap());
}
Вы можете прочитать больше из официального документа.