A persistência de dados é uma das partes fundamentais do desenvolvimento de aplicativos. No Flutter, uma das maneiras mais comuns de persistir dados é usar o SQLite, um banco de dados leve e eficiente que pode ser facilmente incorporado em um aplicativo. Neste módulo, vamos discutir como atualizar dados em um banco de dados SQLite usando Flutter e Dart.

O SQLite é um banco de dados relacional que permite armazenar, recuperar, atualizar e deletar dados de forma eficiente. Ele é amplamente utilizado em aplicativos móveis devido à sua leveza e simplicidade. Para usar o SQLite no Flutter, precisamos usar um pacote chamado sqflite.

Instalando o sqflite

Para começar, precisamos adicionar o sqflite ao nosso projeto. Podemos fazer isso adicionando a seguinte linha ao nosso arquivo pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  sqflite: ^2.0.0+3

Agora, podemos importar o sqflite em nosso arquivo Dart:

import 'package:sqflite/sqflite.dart';

Atualizando dados no SQLite

Para atualizar dados no SQLite, precisamos primeiro abrir uma conexão com o banco de dados. Podemos fazer isso usando o método openDatabase. Este método retorna um objeto Database que podemos usar para interagir com o banco de dados.

Em seguida, precisamos criar uma instrução SQL UPDATE para atualizar os dados. A instrução UPDATE modifica os valores de uma ou mais colunas em uma ou mais linhas em uma tabela. A sintaxe básica de uma instrução UPDATE no SQLite é a seguinte:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

No Flutter, podemos executar uma instrução SQL usando o método rawUpdate do objeto Database. Por exemplo, para atualizar a idade de um usuário, podemos fazer o seguinte:

int count = await db.rawUpdate(
    'UPDATE User SET age = ? WHERE name = ?',
    ['new_age', 'old_name']
);

Este código atualiza a coluna 'age' para 'new_age' para todas as linhas onde a coluna 'name' é igual a 'old_name'. O método rawUpdate retorna o número de linhas afetadas pela atualização.

Podemos também usar o método update do objeto Database para atualizar dados. Este método aceita o nome da tabela e um mapa de valores de coluna. Por exemplo:

int count = await db.update(
    'User',
    {'age': 'new_age'},
    where: 'name = ?',
    whereArgs: ['old_name']
);

Este código faz a mesma coisa que o exemplo anterior, mas usa o método update em vez de rawUpdate. O método update é mais seguro e mais fácil de usar do que rawUpdate, pois escapa automaticamente os valores e evita a injeção de SQL.

Conclusão

Atualizar dados em um banco de dados SQLite no Flutter é uma tarefa simples e direta. Com o pacote sqflite, podemos facilmente executar instruções SQL para atualizar os dados. Lembre-se de sempre fechar a conexão com o banco de dados quando terminar de usá-la para evitar vazamentos de memória.

No próximo módulo, vamos discutir como deletar dados de um banco de dados SQLite no Flutter. Fique ligado!

Agora responda o exercício sobre o conteúdo:

Qual é a diferença entre os métodos rawUpdate e update do objeto Database no Flutter?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Persistência de dados com SQLite em Flutter: Exclusão de dados

Próxima página do Ebook Gratuito:

261Persistência de dados com SQLite em Flutter: Exclusão de dados

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto