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
- 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; - SQLiteCommand: Aqui é onde o comando SQL é definido. Usamos um comando
INSERT INTO
para adicionar novos registros à tabelaPessoas
; - 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;
- 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.
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:
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
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários