Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:async';
- import 'package:flutter/widgets.dart';
- import 'package:path/path.dart';
- import 'package:sqflite/sqflite.dart';
- class Pessoa {
- final int id;
- final String nome;
- final int idade;
- final String endereco;
- Pessoa({this.id, this.nome, this.idade, this.endereco});
- Map<String, dynamic> toMap() {
- return {
- 'id': id,
- 'nome': nome,
- 'idade': idade,
- 'endereco': endereco,
- };
- }
- @override
- String toString() {
- return 'Pessoa{id: $id, name: $nome, idade: $idade, endereco: $endereco }';
- }
- }
- void main() async {
- WidgetsFlutterBinding.ensureInitialized();
- final Future<Database> database = openDatabase(
- join(await getDatabasesPath(), 'pessoas_database.db'),
- onCreate: (db, version) {
- return db.execute(
- "CREATE TABLE pessoa(id INTEGER PRIMARY KEY, nome TEXT, idade INTEGER, endereco TEXT)",
- );
- },
- version: 1,
- );
- Future<void> insertPessoa(Pessoa pessoa) async {
- final Database db = await database;
- await db.insert(
- 'pessoa',
- pessoa.toMap(),
- conflictAlgorithm: ConflictAlgorithm.replace,
- );
- }
- Future<List<Pessoa>> pessoa() async {
- final Database db = await database;
- final List<Map<String, dynamic>> maps = await db.query('pessoa');
- return List.generate(maps.length, (i) {
- return Pessoa(
- id: maps[i]['id'],
- nome: maps[i]['nome'],
- idade: maps[i]['idade'],
- endereco: maps[i]['endereco']);
- });
- }
- Future<void> updatePessoa(Pessoa pessoa) async {
- final db = await database;
- await db.update(
- 'pessoa',
- pessoa.toMap(),
- where: "id = ?",
- whereArgs: [pessoa.id],
- );
- }
- Future<void> deletePessoa(int id) async {
- final db = await database;
- await db.delete(
- 'pessoa',
- where: "id = ?",
- whereArgs: [id],
- );
- }
- // Cria dois objetos da classe Pessoa para teste.
- var pessoa1 = Pessoa(
- id: 0,
- nome: 'João Paulo',
- idade: 75,
- endereco: 'Rua dos Chewbaccas, 737 - Vila dos C3POs');
- var pessoa2 = Pessoa(
- id: 1,
- nome: 'Maria Antônia',
- idade: 34,
- endereco: 'Av. Hobbit de Oliveira, 13, Centro');
- // Insere os dois objetos no banco.
- await insertPessoa(pessoa1);
- await insertPessoa(pessoa2);
- // Imprime todas as pessoas cadastradas no banco.
- print(await pessoa());
- // Solicita a remoção do objeto pessoa1 do banco.
- await deletePessoa(pessoa1.id);
- // Altera dados do objeto pessoa2.
- pessoa2 = Pessoa(
- id: pessoa2.id,
- nome: pessoa2.nome,
- idade: pessoa2.idade,
- endereco: 'Av. Hobbit de Oliveira, 130, Centro',
- );
- // Atualiza dados no banco.
- await updatePessoa(pessoa2);
- // Imprime todas as pessoas cadastradas no banco.
- print(await pessoa());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement