Boa tarde! Estou travada nessa parte há uma semana... vou colocar os códigos aqui, se alguém puder me ajudar agradeço muito!!!
app_database.dart
import 'package:NiverApp/database/amiguinhos_dao.dart';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
Future<Database> createDatabase() async {
final String path = join(await getDatabasesPath(), 'niverapp.db');
return openDatabase(path, onCreate: (db, version) {
db.execute(AmiguinhosDao.tableSql);
}, version: 1, onDowngrade: onDatabaseDowngradeDelete);
}
amiguinhosDao.dart
import 'package:NiverApp/database/app_database.dart';
import 'package:NiverApp/models/amiguinhos.dart';
import 'package:sqflite/sqflite.dart';
class AmiguinhosDao {
static const String tableSql = 'CREATE TABLE $_tableName('
'$_id INTEGER PRIMARY KEY, '
'$_foto TEXT, '
'$_nome TEXT, '
'$_telefone TEXT, '
'$_niverData TEXT, '
'$_email TEXT)';
static const String _tableName = 'amiguinhos';
static const String _id = 'id';
static const String _foto = 'foto';
static const String _nome = 'nome';
static const String _telefone = 'telefone';
static const String _niverData = 'data';
static const String _email = 'email';
Future<int> save(Amiguinhos amiguinho) async {
final Database db = await createDatabase();
return await db.insert(_tableName, amiguinho.toMap());
}
Future<List<Amiguinhos>> findAll() async {
final Database db = await createDatabase();
final List<Map<String, dynamic>> result = await db.query(_tableName);
List<Amiguinhos> contacts = _toList(result);
return contacts;
}
List<Amiguinhos> _toList(List<Map<String, dynamic>> result) {
final List<Amiguinhos> contacts = List();
for (Map<String, dynamic> row in result) {
final Amiguinhos amiguinhos = Amiguinhos(
row[_id],
row[_foto],
row[_nome],
row[_telefone],
row[_niverData],
row[_email],
);
contacts.add(amiguinhos);
}
return contacts;
}
}
amiguinhosModel.dart
import 'package:flutter/material.dart';
class Amiguinhos extends ChangeNotifier {
int id;
String foto;
String nome;
String telefone;
String niverData;
String email;
Amiguinhos(
this.id,
this.foto,
this.nome,
this.telefone,
this.niverData,
this.email,
);
Map<String, dynamic> toMap() {
final Map<String, dynamic> amiguinhosMap = Map();
amiguinhosMap[foto] = foto;
amiguinhosMap[nome] = nome;
amiguinhosMap[telefone] = telefone;
amiguinhosMap[niverData] = niverData;
amiguinhosMap[email] = email;
return amiguinhosMap;
}
@override
String toString() {
return 'Amiguinhos{id: $id, foto: $foto, nome: $nome, telefone: $telefone, niverData: $niverData, email: $email,}';
}
}
O erro completo é o seguinte:
E/SQLiteLog(21127): (1) near "/": syntax error
E/flutter (21127): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: DatabaseException(near "/": syntax error (code 1): , while compiling: INSERT INTO amiguinhos (lib/assets/imagens/avatar.webp, Camila, (94) 9 9104-8681, 31/05/1991, eng.camiladourado@gmail.com) VALUES (?, ?, ?, ?, ?)) sql 'INSERT INTO amiguinhos (lib/assets/imagens/avatar.webp, Camila, (94) 9 9104-8681, 31/05/1991, eng.camiladourado@gmail.com) VALUES (?, ?, ?, ?, ?)' args [lib/assets/imagens/avatar.webp, Camila, (94) 9 9104-8681, 31/05/1991, eng.camiladourado@gmail.com]}