Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lima-william/bbeedf36df813c0cd9f8d7369782483f to your computer and use it in GitHub Desktop.
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)
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