Arquivos do Blog

Inserindo itens do DataGridView para o Banco de Dados

E ai galera!

Em minhas participações e contribuições nos fóruns da MSDN uma dúvida muito comum é:  como enviar os dados inseridos em um DataGridView  para o Banco de Dados, tendo isto em mente criei este post com um exemplo bem simples.

No exemplo os dados são inseridos em um DataGridView e no Click de um botão percorro os itens e persisto na Base de Dados SqlCompact e em um segundo DataGridView exibo os dados persistidos segue a tela com os componentes visuais:

Tela do exemplo.

Segue abaixo o Código cs do formulário com todas as operações, o mesmo está todo comentado!

using System;
using System.Data.SqlServerCe;
using System.Windows.Forms;

namespace DataGridViewParaBD
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            CarregaGrid();
            //informo quantas colunas
            //o dgvClientes térá
            dgvClientes.ColumnCount = 3;

            //Informo os nomes das colunas do dgvClientes
            dgvClientes.Columns[0].Name = "Nome";
            dgvClientes.Columns[1].Name = "E-mail";
            dgvClientes.Columns[2].Name = "Telefone";
        }

        //Clique do botão adicionar
        //insiro os itens no dgvclientes
        private void btnAdicionar_Click(object sender, EventArgs e)
        {
            dgvClientes.Rows.Add(txtNome.Text, txtEmail.Text, txtTelefone.Text);
            //limpo os controles
            txtNome.Text = String.Empty;
            txtEmail.Text = String.Empty;
            txtTelefone.Text = String.Empty;
        }

        //Método para Inserir que
        private void Inserir()
        {
            //Instância da conexão onde passo a
            //ConnectionString
            var conn = new SqlCeConnection(@"Data Source=|DataDirectory|\Exemplo.sdf");
            //sql que será executado na tabela cliente
            var sql = "INSERT INTO Cliente (Nome, Email, Telefone) " +
                      "VALUES (@Nome, @Email, @Telefone)";
            //instância do comando onde passo
            //o sql e a conexão como parâmetro
            var cmd = new SqlCeCommand(sql, conn);
            //abro a conexão
            conn.Open();

            //percorro o DataGridView
            for (int i = 0; i < dgvClientes.Rows.Count - 1; i++)
            {
                //limpo os parâmetros
                cmd.Parameters.Clear();
                //crio os parâmetro do comando
                //e passo as linhas do dgvClientes para eles
                //onde a célula indica a coluna do dgv
                cmd.Parameters.AddWithValue("@Nome",
                    dgvClientes.Rows[i].Cells[0].Value);
                cmd.Parameters.AddWithValue("@Email",
                    dgvClientes.Rows[i].Cells[1].Value);
                cmd.Parameters.AddWithValue("@Telefone",
                    dgvClientes.Rows[i].Cells[2].Value);
                //executo o comando
                cmd.ExecuteNonQuery();
            }
            //Fecho conexão
            conn.Close();
        }

        //cçlique do botão Gravar
        private void btnGravarNoBD_Click(object sender, EventArgs e)
        {
            //Chamo o método
            Inserir();
            CarregaGrid();
            //limpo as linhas no DataGridView
            dgvClientes.Rows.Clear();
        }

        //Método para carregar o dataGridView1
        //com os dados persistidos na base
        private void CarregaGrid()
        {
            //limpo as linhas
            dataGridView1.Rows.Clear();
            //indico o número de colunas
            dataGridView1.ColumnCount = 4;
            //Instância da conexão onde passo a
            //ConnectionString você tem que passar a sua
            var conn = new SqlCeConnection(@"Data Source=|DataDirectory|\Exemplo.sdf");
            //sql que será executado na tabela cliente
            var sql = "SELECT * FROM Cliente";
            //instância do comando onde passo
            //o sql e a conexão como parâmetro
            var cmd = new SqlCeCommand(sql, conn);
            //abro a conexão
            conn.Open();
            //instâncio o leitor
            var leitor = cmd.ExecuteReader();
            //enquanto leitor está lendo
            while (leitor.Read())
            {
                //insiro os dados no dataGridView1
                dataGridView1.Rows.Add(leitor[0].ToString(),
                    leitor[1].ToString(),
                    leitor[2].ToString(),
                    leitor[3].ToString());
            }
            //fecho conexão
            conn.Close();
        }
    }
}

O download do exemplo pode ser feito aqui!!!

É isso ai pessoal é um exemplo bem simples e o mesmo deve melhorado/otimizado, porém pode proporcionar uma ideia de como implementar a rotina!

Até a próxima! 😉

Carregar Combobox com base de dados MySql

Olá pessoal!

Este é um simples tutorial de uma maneira fácil e rápida de se carregar um Combobox com dados vindo de uma base MySql, lembrando que é uma de várias maneiras que pode ser feito.

Este tutorial surgiu a partir uma dúvida de um membro dos fóruns MSDN. Segue:

 

 

É isso ai pessoal espero que tenham gostado.  Abraços!!!

Paginando Gridview em Asp.net C#

Olá pessoal!

Este é o primeiro de uma série de tutoriais para iniciantes em desenvolvimento que estarei disponibilizando, espero que compreendam que este é o primeiro que faço, portanto estou meio “cru” ainda, mais acredito que com a prática irei melhorar! 😉

Este é um tutorial que demonstra uma maneira simples e fácil de se paginar um Gridview em Asp.net C#, claro que é apenas um exemplo e o mesmo deve ser melhorado e otimizado!

Segue o link para o Download do Projeto.

É isso ai pessoal espero que tenham gostado até a próxima!!!

Persistência de dados e testes de desempenho com ADO.NET, ADO.NET Entity Framework 4 e Stored Procedures, utilizando o sistema gerenciador de banco de dados Sql Server 2008 R2

Olá pessoal.

Eu e meu amigo, sócio e por acaso também MSP Cleziel Franzoni da Costa fizemos em parceria um artigo acadêmico sobre tecnologias Microsoft, uma bela iniciativa da faculdade UNES com o projeto “ABC da pesquisa científica” . O artigo tem como objetivo comparar a persistênscia de dados em uma base de dados Sql Server 2008 R2, com as seguintes tecnologias: ADO.NET, ADO.NET ENTITY FRAMEWORK 4 e STORED PROCEDURES e ao final atravéz de testes medir qual foi a que obteve o melhor resultado.

Veja uma parte da introdução:

“Este artigo tem o objetivo de apresentar e testar três tecnologias utilizadas na manutenção e manipulação de dados no SGBD Sql Server 2008 R2, que são: as Storeds Procedures, a classe ADO.Net e o ADO.Net Entity Framework 4. Ambas passaram por testes de performance e velocidade de resposta, com a finalidade de auxiliar na escolha de uma ferramente que agilise o desenvolvimento de uma base de dados para um sistema de computador, ou para outro fim quaquer, desde que possibilite a utilização de uma das ferramentas citadas.
Além das ferramentas citadas aqui, existem diversas outras que são utilizadas no mercado, entre elas podemos citar o Nhibernate, que também é conceituada e muito utilizada, mas demos preferência ao uso do Entity Framework por motivos de produtividade e facilidade de uso, além de ser uma ferramenta da própria Microsoft, proprietária das classes ADO.Net e ADO.Net Entity Framework 4.”

O artigo na íntegra está disponível aqui. abraços e espero que gostem!