首页 > 解决方案 > 为什么是静态数据库_database;和 DatabaseHelper._privateConstructor(); 给出错误?

问题描述

import 'package:sqflite/sqflite.dart';

class DatabaseHelper{
  static final _dbName= 'myDatabase.db';
  static final _dbVersion=1;
  DatabaseHelper._privateConstructor();
  static final DatabaseHelper instance=DatabaseHelper._privateConstructor();
  static Database _database;

  Future <Database> get database async{
    if(_database!=null)return _database;

        return _database;
  }
}

为什么是静态数据库_database;和 DatabaseHelper._privateConstructor(); 给出错误???

标签: flutterflutter-layoutflutter-dependencies

解决方案


改变

static Database _database;

static Database? _database;

由于 null 安全功能(最近更新的颤振)。

而且你也需要改变

Future <Database> get database async{
    if(_database!=null)return _database;
       return _database;
  }

Future <Database> get database async{
    return _database ??= await initDB();
}

initDB() 是一个初始化数据库的函数。


推荐阅读