Created
March 13, 2020 17:04
-
-
Save lima-william/bbeedf36df813c0cd9f8d7369782483f to your computer and use it in GitHub Desktop.
Problema ao executar o hot restart na hora de testar manualmente o contato na tabela (minuto 13:25 do vídeo)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
main.dart | |
``` | |
import 'package:flutter/material.dart'; | |
import 'package:minhasegundavia2/database/app_database.dart'; | |
import 'package:minhasegundavia2/models/salva_cpfl.dart'; | |
import 'package:minhasegundavia2/screens/tela_inicial.dart'; | |
void main() { | |
runApp(MinhaSegundaViaApp()); | |
save(SalvaCpfl(3, 'abc', 0123456789, 0987654321)).then((id) { | |
findAll().then((contasCpfl) => debugPrint(contasCpfl.toString())); | |
}); | |
} | |
class MinhaSegundaViaApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
theme: ThemeData( | |
primaryColor: Colors.pink[600], | |
accentColor: Colors.blueAccent[700], | |
buttonTheme: ButtonThemeData( | |
buttonColor: Colors.blueAccent[700], | |
textTheme: ButtonTextTheme.primary, | |
), | |
), | |
home: TelaInicial(), | |
); | |
} | |
} | |
``` | |
app_database.dart | |
``` | |
import 'package:minhasegundavia2/models/salva_cpfl.dart'; | |
import 'package:path/path.dart'; | |
import 'package:sqflite/sqflite.dart'; | |
// função para CRIAR o banco de dados para salvar o que foi | |
// digitado no cadastro da CPFL | |
Future<Database> createDatabase() { | |
return getDatabasesPath().then((dbPath) { | |
final String path = join(dbPath, 'minhaSegundaVia.db'); | |
return openDatabase(path, onCreate: (db, version) { | |
db.execute('CREATE TABLE contas_cpfl(' | |
'id INTEGER PRIMARY KEY, ' | |
'name_conta TEXT, ' | |
'codigo_cpfl INTEGER ' | |
'cpf INTEGER)'); | |
}, version: 1); | |
}); | |
} | |
// função para SALVAR no banco de dados o que foi digitado no cadastro da CPFL | |
// no exemplo do alura, ele fala Contact, mas eu nomeei como SalvaCpfl | |
Future<int> save(SalvaCpfl contaCpfl) { | |
return createDatabase().then((db) { | |
final Map<String, dynamic> contaCpflMap = Map(); | |
contaCpflMap['id'] = contaCpfl.id; | |
contaCpflMap['name_conta'] = contaCpfl.nomeContaCpfl; | |
contaCpflMap['codigo_cpfl'] = contaCpfl.numeroCodigoCpfl; | |
contaCpflMap['cpf'] = contaCpfl.numeroCPF; | |
return db.insert('contas_cpfl', contaCpflMap); | |
}); | |
} | |
// função para BUSCAR no banco de dados o que foi salvo no cadastro da CPFL | |
Future<List<SalvaCpfl>> findAll() { | |
return createDatabase().then((db) { | |
return db.query('contas_cpfl').then((maps) { | |
final List<SalvaCpfl> contasCpfl = List(); | |
for (Map<String, dynamic> map in maps) { | |
final SalvaCpfl contaCpfl = SalvaCpfl( | |
map['id'], | |
map['name_conta'], | |
map['codigo_cpfl'], | |
map['cpf'], | |
); | |
contasCpfl.add(contaCpfl); | |
} | |
return contasCpfl; | |
}); | |
}); | |
} | |
``` | |
Erro apresentado | |
``` | |
Performing hot restart... | |
Syncing files to device AOSP on IA Emulator... | |
Restarted application in 1.495ms. | |
E/SQLiteLog(15603): (1) table contas_cpfl has no column named cpf | |
E/flutter (15603): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: DatabaseException(table contas_cpfl has no column named cpf (code 1 SQLITE_ERROR): , while compiling: INSERT INTO contas_cpfl (id, name_conta, codigo_cpfl, cpf) VALUES (?, ?, ?, ?)) sql 'INSERT INTO contas_cpfl (id, name_conta, codigo_cpfl, cpf) VALUES (?, ?, ?, ?)' args [3, abc, 123456789, 987654321]} | |
E/flutter (15603): #0 wrapDatabaseException (package:sqflite/src/exception_impl.dart:12:7) | |
E/flutter (15603): <asynchronous suspension> | |
E/flutter (15603): #1 SqfliteDatabaseFactoryImpl.wrapDatabaseException (package:sqflite/src/factory_impl.dart:25:7) | |
E/flutter (15603): #2 SqfliteDatabaseMixin.safeInvokeMethod (package:sqflite/src/database_mixin.dart:208:15) | |
E/flutter (15603): #3 SqfliteDatabaseMixin.txnRawInsert.<anonymous closure> (package:sqflite/src/database_mixin.dart:383:14) | |
E/flutter (15603): #4 SqfliteDatabaseMixin.txnSynchronized.<anonymous closure> (package:sqflite/src/database_mixin.dart:327:22) | |
E/flutter (15603): #5 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:32:26) | |
E/flutter (15603): #6 SqfliteDatabaseMixin.txnSynchronized (package:sqflite/src/database_mixin.dart:323:33) | |
E/flutter (15603): #7 SqfliteDatabaseMixin.txnWriteSynchronized (package:sqflite/src/database_mixin.dart:345:7) | |
E/flutter (15603): #8 SqfliteDatabaseMixin.txnRawInsert (package:sqflite/src/database_mixin.dart:382:12) | |
E/flutter (15603): #9 SqfliteDatabaseExecutorMixin.rawInsert (package:sqflite/src/database_mixin.dart:50:15) | |
E/flutter (15603): #10 SqfliteDatabaseExecutorMixin.insert (package:sqflite/src/database_mixin.dart:60:12) | |
E/flutter (15603): #11 save.<anonymous closure> (package:minhasegundavia2/database/app_database.dart:29:15) | |
E/flutter (15603): #12 _rootRunUnary (dart:async/zone.dart:1134:38) | |
E/flutter (15603): #13 _CustomZone.runUnary (dart:async/zone.dart:1031:19) | |
E/flutter (15603): #14 _FutureListener.handleValue (dart:async/future_impl.dart:139:18) | |
E/flutter (15603): #15 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45) | |
E/flutter (15603): #16 Future._propagateToListeners (dart:async/future_impl.dart:709:32) | |
E/flutter (15603): #17 Future._completeWithValue (dart:async/future_impl.dart:524:5) | |
E/flutter (15603): #18 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15) | |
E/flutter (15603): #19 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13) | |
E/flutter (15603): #20 BasicLock.synchronized (package:synchronized/src/basic_lock.dart) | |
E/flutter (15603): <asynchronous suspension> | |
E/flutter (15603): #21 ReentrantLock.synchronized (package:synchronized/src/reentrant_lock.dart:30:17) | |
E/flutter (15603): #22 SqfliteDatabaseFactoryMixin.openDatabase (package:sqflite/src/factory_mixin.dart:71:17) | |
E/flutter (15603): #23 openDatabase (package:sqflite/sqflite.dart:152:26) | |
E/flutter (15603): #24 createDatabase.<anonymous closure> (package:minhasegundavia2/database/app_database.dart:10:12) | |
E/flutter (15603): #25 _rootRunUnary (dart:async/zone.dart:1134:38) | |
E/flutter (15603): #26 _CustomZone.runUnary (dart:async/zone.dart:1031:19) | |
E/flutter (15603): #27 _FutureListener.handleValue (dart:async/future_impl.dart:139:18) | |
E/flutter (15603): #28 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45) | |
E/flutter (15603): #29 Future._propagateToListeners (dart:async/future_impl.dart:709:32) | |
E/flutter (15603): #30 Future._completeWithValue (dart:async/future_impl.dart:524:5) | |
E/flutter (15603): #31 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15) | |
E/flutter (15603): #32 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13) | |
E/flutter (15603): #33 SqfliteDatabaseFactoryMixin.getDatabasesPath (package:sqflite/src/factory_mixin.dart) | |
E/flutter (15603): <asynchronous suspension> | |
E/flutter (15603): #34 getDatabasesPath (package:sqflite/sqflite.dart:168:54) | |
E/flutter (15603): #35 createDatabase (package:minhasegundavia2/database/app_database.dart:8:10) | |
E/flutter (15603): #36 save (package:minhasegundavia2/database/app_database.dart:23:10) | |
E/flutter (15603): #37 main (package:minhasegundavia2/main.dart:9:3) | |
E/flutter (15603): #38 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:239:25) | |
E/flutter (15603): #39 _rootRun (dart:async/zone.dart:1126:13) | |
E/flutter (15603): #40 _CustomZone.run (dart:async/zone.dart:1023:19) | |
E/flutter (15603): #41 _runZoned (dart:async/zone.dart:1518:10) | |
E/flutter (15603): #42 runZoned (dart:async/zone.dart:1502:12) | |
E/flutter (15603): #43 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:231:5) | |
E/flutter (15603): #44 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:307:19) | |
E/flutter (15603): #45 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.d | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment