【问题标题】:Flutter sqflite openDatabase method isn't definedFlutter sqflite openDatabase方法未定义
【发布时间】:2020-04-26 06:37:49
【问题描述】:

我是 Flutter 开发的新手。我试图使用 sqflite 在我的移动应用程序中创建一个 sqlite 数据库。

import 'package:mcqlanka/src/util/constants.dart';
import 'dart:io' as io;
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'dart:async';
import 'package:sqflite/sqlite_api.dart';

class DBHelper {
  static Database _db;

  Future<Database> get db async {
    if (_db != null) {
      return _db;
    }
    _db = await initDatabase();
    return _db;
  }

  initDatabase() async {
    io.Directory documentsDirectory = await getApplicationDocumentsDirectory();
    String path = join(documentsDirectory.path, DB_NAME);
    var db = await openDatabase(path, version: 1, onCreate: _onCreate);
    return db;
  }


  _onCreate(Database db, int version) async {
    await db.execute(
        'CREATE TABLE user (uid TEXT PRIMARY KEY, email TEXT, image TEXT)');
  }
}

但它总是说 openDatabase 没有在类中定义。我正在使用 sqflite:^1.1.3。我也尝试过以前的版本。但我得到了同样的错误。

【问题讨论】:

    标签: flutter sqflite


    【解决方案1】:

    你需要导入import 'package:sqflite/sqflite.dart';

    【讨论】:

      【解决方案2】:

      找到了答案。我已经导入了 import package:sqflite/sqlite_api.dart' 而不是 package:sqflite/sqflite.dart 现在可以正常使用了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-27
        • 2015-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-16
        • 2020-06-08
        • 1970-01-01
        相关资源
        最近更新 更多