Insert em c# em POO com sql

by - 20:50

No meu caso eu tenho uma classe de ligação ao meu banco de dados do sql, chamada conexãoBD. E tenho também uma classe chamada clientes, no qual tem todas as minhas variáveis da tabela cliente, no banco.
Para fazer o insert vamos precisar das seguintes using: System.Data.SqlClient; System.Data;
A minha classe de liganção com BD e que irá realizar todos os comandos sql sobre cliente. Dei o nome de DALClientes no qual tem como pai a classe de conexãoBD.
É preciso declarar a classe cliente: Cliente cliente;
Embaixo iremos fazer um com comando Insert normal, basta seguir o exemplo abaixo. Vamos passar por parametro cada dado que esta em values, certo?

SqlException: Ocorreu uma exceção ao executar o comando em uma linha bloqueada. Essa exceção não é gerada quando você estiver usando o Microsoft. NET Framework versão 1.0.
Um tempo limite ocorreu durante uma operação de streaming. Para mais informações sobre streaming, ver suporte para streaming SqlClient .
Você pode usar o ExecuteNonQuery para executar operações de catálogo (por exemplo, consultando a estrutura de um banco de dados ou a criação de objetos de banco de dados como tabelas), ou para alterar os dados em um banco de dados sem usar um DataSet , executando UPDATE, INSERT ou DELETE.
Embora o ExecuteNonQuery não retorna linhas, todos os parâmetros de saída ou retornar valores mapeados para os parâmetros são preenchidos com dados.
Há no exemplo abaixo eu estou fazendo uma verificação se o banco está ou não conectado. Lembrando que existem várias maneiras de programar.

Acredito que meu código esteja bem facil o entendimento. Dúvidas? Poste comentário ou enviei email.

 class DALClientes : conexaoBD
    {
        Cliente cliente;
        public bool InsertClient(Cliente cliente)
        {
            vsql = "INSERT INTO Clientes(nome, endereco, telefone, datNasc, email, observacoes)" + "VALUES(@nome, @endereco, @telefone, @datNasc, @email, @observacoes)";
            //Definição do comando SQL
            SqlCommand comando = null;
            if (this.conectar())
            {
                try
                {
                    comando = new SqlCommand(vsql, objConexao);
                    //passando o parametro para propriedade
                    comando.Parameters.Add(new SqlParameter("@nome", cliente.Nome));
                    comando.Parameters.Add(new SqlParameter("@endereco", cliente.Endereco));
                    comando.Parameters.Add(new SqlParameter("@telefone", cliente.Telefone));
                    comando.Parameters.Add(new SqlParameter("@datNasc", cliente.DatNasc));
                    comando.Parameters.Add(new SqlParameter("@email", cliente.Email));
                    comando.Parameters.Add(new SqlParameter("@observacoes", cliente.Observacoes));

                    comando.ExecuteNonQuery();
                    objConexao.Close();

                    return true;
                }
                catch (SqlException ex)
                {
                    throw ex;
                }
                finally
                {
                    this.desconectar();
                }
            }
            else
            {
                return false;
            }
        }
}


Clique do botão cadastrar, dá uma olhadinha como ficou.
Estou instanciando minha classe DALCLientes e Clientes. Após isto estou convertendo os campos passando das propriedades para o text.


        private void btnCad_Click(object sender, EventArgs e)
        {
            try
            {
                //instanciando as Classes
                DALClientes DALclientes = new DALClientes();
                Cliente cliente = new Cliente();
                //converter campos passando propriedades para text
                cliente.Nome = Convert.ToString(this.textNome.Text);
                cliente.Endereco = Convert.ToString(this.textEnd.Text);
                cliente.Telefone = Convert.ToString(this.textTel.Text);
                cliente.DatNasc = Convert.ToDateTime(this.textDatNasc.Text);
                cliente.Email = Convert.ToString(this.textEmail.Text);
                cliente.Observacoes = Convert.ToString(this.textObs.Text);
                //chamando a função Insert atraves da classe DAOClientes
                DALclientes.InsertClient(cliente);
                MessageBox.Show("Cadastrado, com sucesso!");
            }
            catch (SqlException ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
            finally
            {
                //LimpaCampos
                LimpaCampos();
            }
        }

You May Also Like

0 comentários