Flutter:连接数据库的问题

问题描述 投票:0回答:1

我想连接到本地数据库。我把它放在资产文件夹中,并在 pubspec.yaml 中指示“-assets/DB/information.db”。但我犯了一个错误。请帮我解决一下。

```

import 'dart:io';
import 'dart:typed_data';
import 'package:first_app/const/const.dart'; 
import 'package:flutter/services.dart';
import 'package:path/path.dart'; 
import 'package:sqflite/sqflite.dart'; 
class DatabaseHelper{
Future<Database> copyDB() async{  
  var dbPath = await getDatabasesPath();
  var path = join(dbPath, db_name);

  var exists = await databaseExists(path);

  if(!exists){
    try{
      await Directory(dirname(path)).create(recursive: true);
    } catch(_){}

    //copy from assets
    ByteData data = await rootBundle.load(join('assets/DB', db_name));
    List<int> bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
    await Fail(path).writeAsBytes(bytes, flush:true);
  }
  else {
    print('DB already exist');
  }
  return await openDatabase(path,readOnly: true );
}
}
flutter mobile sqflite
1个回答
0
投票

我认为你需要将 Fail(path) 更改为 File(path)

© www.soinside.com 2019 - 2024. All rights reserved.