颤振中的Sqlite数据未正确更新
我有一个小的实践应用程序,我想学习在颤振Sqlite。问题是,一切正常,单击此按钮时数据会更新,但页面更改后数据不会保持更新这是更新按钮的代码:颤振中的Sqlite数据未正确更新,sqlite,flutter,dart,Sqlite,Flutter,Dart,我有一个小的实践应用程序,我想学习在颤振Sqlite。问题是,一切正常,单击此按钮时数据会更新,但页面更改后数据不会保持更新这是更新按钮的代码: onPressed: () { if (!_formKey.currentState.validate()) { print("form"); return;
onPressed: () {
if (!_formKey.currentState.validate()) {
print("form");
return;
}
_formKey.currentState.save();
Drink drink = Drink(
name: _name,
);
DatabaseProvider.db.updateDrink(widget.drink).then(
(storedDrink) =>
BlocProvider.of<DrinkBloc>(context).add(
UpdateDrink(widget.drinkIndex, drink),
),
);
class UpdateDrink extends DrinkEvent {
Drink newDrink;
int drinkIndex;
UpdateDrink(int index, Drink drink) {
newDrink = drink;
drinkIndex = index;
Future<int> updateDrink(Drink drink) async {
final db = await database;
return await db.update(
TABLE_DRINK,
drink.toMap(),
where: "drink_id = ?",
whereArgs: [drink.id],
);
这是DatabaseProvider中的更新功能:
onPressed: () {
if (!_formKey.currentState.validate()) {
print("form");
return;
}
_formKey.currentState.save();
Drink drink = Drink(
name: _name,
);
DatabaseProvider.db.updateDrink(widget.drink).then(
(storedDrink) =>
BlocProvider.of<DrinkBloc>(context).add(
UpdateDrink(widget.drinkIndex, drink),
),
);
class UpdateDrink extends DrinkEvent {
Drink newDrink;
int drinkIndex;
UpdateDrink(int index, Drink drink) {
newDrink = drink;
drinkIndex = index;
Future<int> updateDrink(Drink drink) async {
final db = await database;
return await db.update(
TABLE_DRINK,
drink.toMap(),
where: "drink_id = ?",
whereArgs: [drink.id],
);
未来更新链接(饮料)异步{
最终数据库=等待数据库;
return wait db.update(
桌上饮料,
喝。汤姆普(),
其中:“饮料id=?”,
wherergs:[drink.id],
);
正如我所解释的,更新确实有效,但在页面更改或重新启动应用程序后,它不会保持持久性。我怀疑需要在init中的某个位置调用更新,或者我没有正确替换某些变量。基本上,我需要的是将更新后的数据持久存储在db中。谢谢