O SQLite é um banco de dados leve e amplamente utilizado em aplicações desktop e mobile. Neste post, vamos aprender como realizar operações de insert em tabelas com o SQLite no C# e em Java.

Criando uma tabela no banco de dados SQLite

Primeiro, crie uma tabela em seu banco de dados para inserir os dados. Para este exemplo, vamos criar uma tabela chamada Pessoas, com três colunas: Id, Nome, e Idade.

CREATE TABLE Pessoas (
    Id INTEGER PRIMARY KEY AUTOINCREMENT,
    Nome TEXT NOT NULL,
    Idade INTEGER NOT NULL
);

Escreva o código para inserir dados

Agora que temos uma tabela, vamos ver como inserir registros nela usando C#. Aqui está um exemplo básico para realizar um INSERT no banco de dados.

Exemplo de código C# para inserção

using System;
using System.Data.SQLite;

namespace SQLiteInsertExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Caminho do banco de dados SQLite
            string connectionString = "Data Source=caminho_para_seu_banco_de_dados.db;Version=3;";

            using (SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                try
                {
                    connection.Open();
                    Console.WriteLine("Conexão com o banco de dados estabelecida!");

                    // Comando de inserção
                    string query = "INSERT INTO Pessoas (Nome, Idade) VALUES (@nome, @idade)";

                    using (SQLiteCommand cmd = new SQLiteCommand(query, connection))
                    {
                        // Definindo os parâmetros
                        cmd.Parameters.AddWithValue("@nome", "João Silva");
                        cmd.Parameters.AddWithValue("@idade", 30);

                        // Executando o comando
                        int result = cmd.ExecuteNonQuery();

                        // Verifica se a inserção foi bem-sucedida
                        if (result > 0)
                        {
                            Console.WriteLine("Registro inserido com sucesso!");
                        }
                        else
                        {
                            Console.WriteLine("Falha ao inserir registro.");
                        }
                    }
                }
                catch (SQLiteException ex)
                {
                    Console.WriteLine("Erro ao conectar ou inserir dados: " + ex.Message);
                }
            }
        }
    }
}

Explicação do código

  1. SQLiteConnection: Esta classe é usada para estabelecer uma conexão com o banco de dados SQLite. A string de conexão (connectionString) define o caminho para o arquivo do banco de dados;

  2. SQLiteCommand: Aqui é onde o comando SQL é definido. Usamos um comando INSERT INTO para adicionar novos registros à tabela Pessoas;

  3. cmd.Parameters.AddWithValue: Estes parâmetros permitem inserir valores dinamicamente, prevenindo ataques de injeção de SQL. No exemplo, os valores “João Silva” e 30 são inseridos na tabela;

  4. cmd.ExecuteNonQuery: Este método executa a instrução SQL e retorna o número de linhas afetadas. Se o valor retornado for maior que zero, significa que a inserção foi bem-sucedida.

Personalizando o código

Você pode facilmente personalizar este código para aceitar entradas dinâmicas de TextBoxes ou outros componentes da interface gráfica, se estiver desenvolvendo um aplicativo com interface de usuário.

Por exemplo, se você estiver criando um formulário em Windows Forms, pode usar textBoxNome.Text e numericUpDownIdade.Value para capturar valores de entrada do usuário e inserir no banco de dados.

Outro exemplo prático

Abaixo temos um método que recebe um código de cliente de um EditText em Java:

...
private EditText codigo;
private EditText nome;
private EditText tel;
...
    
//Identifique os nomes dos seus EditText
codigo = findViewById(R.id.etCodigo); 
nome = findViewById(R.id.etNome);
tel = findViewById(R.id.etTel);
...

private void incluirClientes(EditText codigoCliente) { 
    
  try {
    
	//Cria o banco de dados - MODE_PRIVATE (acessível apenas a este aplicativo) 
	SQLiteDatabase bancoDados = openOrCreateDatabase("app", MODE_PRIVATE, null);

	//Cria a tabela (se não existir))    
	bancoDados.execSQL("CREATE TABLE IF NOT EXISTS clientes(codigo VARCHAR, nome VARCHAR, tel VARCHAR)");
    
	//Cursor para verificar se o registro a ser gravado já existe                
	Cursor cur = bancoDados.rawQuery("SELECT COUNT(*) FROM clientes WHERE codigo='" + codigo.getText()+"'", null);

	if (cur != null) {
          cur.moveToFirst();
	if (cur.getInt(0) == 0) {
            
	  //Executa o SQL informando os valores recuperados dos campos código, nome e telefone
	  bancoDados.execSQL("INSERT INTO clientes (codigo, nome, tel)VALUES(codigo.getText(), nome.getText(), tel.getText()");
                
	  //Mensagem de aviso de sucesso do cadastro
	  Toast.makeText(CadastroActivity.this, "Cliente cadastrado com sucesso! ", Toast.LENGTH_SHORT).show(); 
                
         } //Se o registro já existir...
          else { 
                  Toast.makeText(CadastroActivity.this, "Erro: este cliente já existe. ", Toast.LENGTH_SHORT).show();}    
              } else {
                    Toast.makeText(CadastroActivity.this, "Erro: este cliente já existe.", Toast.LENGTH_SHORT).show();
         }
        
          //Mostra erro de exceção, se houver	
	} catch (Exception e) {Log.e("ERRO: ", e.getMessage());}

Para chamar o método acima, crie um evento de clique para o botão que será usado para gravar os registros:

...
private Button botaoSalvar;
...
botaoSalvar = findViewById(R.id.btnSalvarCompromisso);
...
    
//Evento de click de botão
botaoSalvar.setOnClickListener(new View.OnClickListener() {
  @Override
     public void onClick(View v) {
        
        //Faz validações
        if(codigo.getText().length() == 0)
           codigo.setError("Código vazio!");
        else if(nome.getText().length() == 0)
                nome.setError("Nome vazio!");
        else if(tel.getText().length() == 0)
                nome.setError("Telefone vazio!");
        else {
               incluirClientes(codigo);//Chama o método
        }
     } );

Realizar inserções (INSERT) no banco de dados SQLite em C# é bastante simples e direto.

Utilizando o System.Data.SQLite, você pode facilmente conectar, inserir e manipular dados em um banco SQLite, o que é ideal para aplicações que precisam de um banco de dados leve e eficiente.

Quer aprender de forma prática como desenvolver apps nativos para iOS e Android, construindo aplicativos do zero até aplicativos completos com Integrações com API´s, Banco de dados, Autenticação, Mapas, Animações e Design?

Além do curso, você receberá mais 3 BÔNUS, o curso completo de JavaScript e também o Curso de React JS e Node JS onde vamos desenvolver aplicações e sistemas web do zero.

Garanta a sua vaga ainda hoje e aproveite a nossa super promoção!

CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS DETALHES:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões sobre Insert em tabelas com o SQLite? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *