C# - Usando o SQLite - II

 Neste artigo vou mostrar como podemos usar o SQLite em uma aplicação Windows Forms realizando as operações CRUD na linguagem C#.


Continuando a primeira parte do artigo vamos definir o código do formulário do projeto para realizar as tarefas usando a classe DalHelper.

Recursos Usados:

Definindo o código do formulário

Vamos agora associar ao evento Click de cada um dos botões de comando do formulário o respectivo código que vai utilizar os métodos da classe DalHelper para realizar a tarefa.

Inclua os seguintes namespaces no formulário:

using csharp_Sqlite.Models;
using System;
using System.Data;
using System.Windows.Forms;

1- Criando o Banco de Dados Cadastro.sqlite na pasta c:\Dados

No evento Click do botão de comando  Criar Banco de Dados inclua o código abaixo:

      private void btnCriarBancoDados_Click(object sender, EventArgs e)
        {
            try
            {
                DalHelper.CriarBancoSQLite();
                btnCriarBancoDados.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

2- Criando a tabela Clientes

No evento Click do botão de comando  Criar Tabela inclua o código abaixo:

        private void btnCriarTabela_Click(object sender, EventArgs e)
        {
            try
            {
                DalHelper.CriarTabelaSQlite();
                btnCriarTabela.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

3- Exibindo os dados da tabela Clientes no DataGridView

No evento Click do botão de comando  Exibir Dados inclua o código abaixo:

        private void btnExibirDados_Click(object sender, EventArgs e)
        {
            ExibirDados();
        }
        private void ExibirDados()
        {
            try
            {
                DataTable dt = new DataTable();
                dt = DalHelper.GetClientes();
                dgvDados.DataSource = dt;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

4- Incluindo dados na tabela Clientes

No evento Click do botão de comando Incluir Dados inclua o código abaixo:

        private void btnIncluirDados_Click(object sender, EventArgs e)
        {
            if (!Valida())
            {
                MessageBox.Show("Informe os dados cliente a incluir");
                return;
            }
            try
            {
                Cliente cli = new Cliente();
                cli.Id = Convert.ToInt32(txtID.Text);
                cli.Nome = txtNome.Text;
                cli.Email = txtEmail.Text;

                DalHelper.Add(cli);

                ExibirDados();
                LimpaDados();
            }
            catch(Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

5- Atualizando dados na tabela Clientes

No evento Click do botão de comando Atualizar Dados inclua o código abaixo:

        private void btnAtualizarDados_Click(object sender, EventArgs e)
        {
            if(!Valida())
            {
                MessageBox.Show("Informe os dados cliente a atualizar");
                return;
            }

            try
            {
                Cliente cli = new Cliente();
                cli.Id = Convert.ToInt32(txtID.Text);
                cli.Nome = txtNome.Text;
                cli.Email = txtEmail.Text;

                DalHelper.Update(cli);
                ExibirDados();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

 

6- Excluindo dados da tabela Clientes

No evento Click do botão de comando Excluir Dados inclua o código abaixo:

       private void btnExcluirDados_Click(object sender, EventArgs e)
        {
            if(string.IsNullOrEmpty(txtID.Text))
            {
                MessageBox.Show("Informe o ID do cliente a ser Excluído");
                return;
            }
            try
            {
                int codigo = Convert.ToInt32(txtID.Text);
                DalHelper.Delete(codigo);
                ExibirDados();
                LimpaDados();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

7- Localizando um cliente pelo seu Id e exibindo no DataGridView

No evento Click do botão de comando  Localizar Dados inclua o código abaixo:

        private void btnLocalizarDados_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtID.Text))
            {
                MessageBox.Show("Informe o ID do cliente a ser Localizado");
                return;
            }
            try
            {
                DataTable dt = new DataTable();
                int codigo = Convert.ToInt32(txtID.Text);

                dt = DalHelper.GetCliente(codigo);
                dgvDados.DataSource = dt;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro : " + ex.Message);
            }
        }

8- Encerrar

No evento Click do botão de comando  Encerrar inclua o código abaixo:

       private void btnEncerrar_Click(object sender, EventArgs e)
        {
            const string mensagem = "Deseja Encerrar ?";
            const string titulo = "Encerrar";
            var resultado = MessageBox.Show(mensagem, titulo,
                                         MessageBoxButtons.YesNo,
                                         MessageBoxIcon.Question);
            if (resultado == DialogResult.Yes)
            {
                Application.Exit();
            }
        }

Código do Método Valida() que valida os dados para a entrada do usuário:

        private bool Valida()
        {
            if(string.IsNullOrEmpty(txtID.Text) && string.IsNullOrEmpty(txtNome.Text) && string.IsNullOrEmpty(txtEmail.Text))
            {
                return false;
            }
            else
            {
                return true;
            }
        }

Código do Método LimpaDados() que limpa os dados das caixas de texto :

       private void LimpaDados()
        {
            txtID.Text = "";
            txtNome.Text = "";
            txtEmail.Text = "";
        }

Código associado ao evento CellClick do DataGridView que obtém os valores das células da linha selecionado e as exibe nas caixas de texto do formulário:

 private void dgvDados_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                DataGridViewRow row = this.dgvDados.Rows[e.RowIndex];
                txtID.Text = row.Cells["Id"].Value.ToString();
                txtNome.Text = row.Cells["Nome"].Value.ToString();
                txtEmail.Text = row.Cells["Email"].Value.ToString();
            }
        }

 

Executando o projeto teremos o resultado a seguir:

Pegue o projeto aqui:  csharp_Sqlite.zip (sem as referências)

Todas as coisas são puras para os puros, mas nada é puro para os contaminados e infiéis; antes o seu entendimento e consciência estão contaminados.
Confessam que conhecem a Deus, mas negam-no com as obras, sendo abomináveis, e desobedientes, e reprovados para toda a boa obra.

Tito 1:15,16

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti