Após a implementação da correção no trecho do FutureBuilder dessa forma nao consigo visualizar nada na listagem e recebo o retorno no log
no such table: banks in "SELECT * FROM banks"
body: FutureBuilder( future: findAll(), builder: (context, snapshot) { if (snapshot.data != null) { final List banks = snapshot.data as List; return ListView.builder( itemBuilder: (context, index) { final Bank bank = banks[index]; return _BankItem(bank); }, itemCount: banks.length, ); } else { return const Card(); } }, ),
Segue o codigo do DB
import 'package:flutter_project2/model/banks.dart';
import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart';
Future createDataBase() { return getDatabasesPath().then((dbPath) { final String path = join(dbPath, 'project.db'); return openDatabase(path, onCreate: (db, version) { db.execute('CREATE TABLE banks (' 'id INTERGER PRIMARY KEY,' 'name TEXT, ' 'account_number INTERGER,' 'agency_number INTERGER'); }, version: 1); }); }
Future save(Bank bank) { return createDataBase().then((db) { final Map<String, dynamic> bankMap = Map(); bankMap['name'] = bank.name; bankMap['agency'] = bank.agency; bankMap['account'] = bank.account; return db.insert('banks', bankMap); }); }
Future findAll() { return createDataBase().then((db) { return db.query('banks').then((maps) { final List banks = []; for (Map<String, dynamic> map in maps) { final Bank bank = Bank( map['id'], map['name'], map['agency'], map['account'], ); banks.add(bank); } return banks; }); }); }