You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart 2.18.1空安全下sqflite数据库update/delete方法报错求助

解决sqflite中DatabaseException类型导致的update/delete方法未定义错误

错误原因

你在updateProduct和deleteProduct方法中,错误地将数据库实例的类型声明为DatabaseException——这是sqflite用于封装异常信息的类,本身并不提供update、delete这类数据库操作方法。正确的数据库实例类型应该是sqflite的Database类。

修复后的代码

import 'package:sqflite/sqflite.dart'; // 确保已导入Database类

Future<Product> updateProduct(Product product) async{
  Database db = await instance.database;
  await db.update(_table_products, Product.toMap(product) , where: 'id = ?', whereArgs: [product.id]);
  return product;
}

Future deleteProduct(Product product) async {
  Database db = await instance.database;
  var deletedProduct = await db.delete(_table_products, where: 'id = ?', whereArgs: [product.id]);
  return product;
}

关键修改点

  • 将两处的DatabaseException db替换为Database db
  • 确保代码顶部已导入sqflite的Database类(若尚未导入)

内容的提问来源于stack exchange,提问作者induwara widarshana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:40:34