flutter - 为什么是静态数据库_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(); 给出错误???
解决方案
改变
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() 是一个初始化数据库的函数。
推荐阅读
- java - 在 JavaFX 中更改窗口大小后组合框下拉宽度出现问题
- sql-server - Error while running a stored procedure having where condition dynamically generated
- ssis - 使用 DOB 列计算年龄
- c++ - How Do I Properly Count User Inputs Using if-then Statements in C++
- amazon-web-services - 通过 cloudformation 更新 RDS 引擎版本(次要) - 立即还是在下一个窗口期间?
- javascript - 使用 scrapy 抓取“谷歌地图”地图时没有得到任何回应
- css - Set column width to content width in CSS Grid
- javascript - 如何在“li tag href”中使用for循环
- git - 无法将 .env 文件添加到 gitignore?
- jquery - 在jQuery中调用数组时尝试使用变量