gpt4 book ai didi

database - 如何修复 flutter 中的 "Future isn' t a type”错误?

转载 作者:行者123 更新时间:2023-12-04 14:30:46 28 4
gpt4 key购买 nike

我正在尝试将我的 flutter 应用程序的应用程序数据存储在数据库中,但编译器一直为 async func 显示“Future is not a type”,并以红色下划线显示。我也尝试删除 .analysis-driver ,但这无济于事。
我该如何解决?
代码:

import 'package:sqflite/sqflite.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart';
import 'dart:io';

class Db_Help{

static final _db_name="Work_tasks.db";
static final _db_version=1;
static final table="Work Table";

static final task_id="ID";
static final task="Task";
static final bool_check="Value";

static Database _database;

Db_Help._private_cons();
static final Db_Help instance=Db_Help._private_cons();

_initDatabase() async{
Directory docu_dir=await getApplicationDocumentsDirectory();
String path=join(docu_dir.path,_db_name);

return await openDatabase(path, version: _db_version, onCreate: _onCreate);
}

Future<Database> get database async{

if(_database!=null)
return _database;

_database=await _initDatabase();
return _database;

}

Future _onCreate(Database db, int version) async{
await db.execute('''
CREATE TABLE $table (
$task_id INTEGER PRIMARY KEY,
$task TEXT NOT NULL,
$bool_check INTEGER)
''');
}

Future<int> insert(Map<String,dynamic> row) async{
Database db= await instance.database;
return await db.insert(table, row);
}

}
编辑:[已解决]

最佳答案

昨天遇到了这个问题。尝试了一些修复此错误的建议,今天它通过执行以下操作起作用:

  • 将 pubspec.yaml 中的 SDK 版本至少更新为 2.7.0
    (在此之前我的 sdk 版本是 2.2.0,我认为这导致了
    错误。至少 2.7.0 对我有用)。
    environment:
    sdk: ">=2.7.0 <3.0.0"
  • 运行 flutter clean
  • 转到文件 -> 使缓存无效/重新启动并选择“使缓存无效并重新启动”
  • 关于database - 如何修复 flutter 中的 "Future isn' t a type”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64445490/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com