Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gs3llmann

Como inserir dados de um Form via Procedure!

Recommended Posts

Galera é o seguinte!

 

Aprendi como criar uma conexão em C# usando o SqlDataSource que insere valores que estão em um TextBox, então criei uma Procedure no SQL2005 que insere dados em uma tabela de cliente, mas quero criar um formulário com uns 15 campos e queria que essa procedure fosse usada pra colocar os dados no BD.

 

Eu não faço a menor idéia de como fazer isso, alguem pode me dar uma luz?

 

Procedure Exemplo:

 

CREATE PROCEDURE ProcedureAddCliente

	@Nome		varchar(50),
	@SobreNome	varchar(50),
	@Endereco	varchar(50),
	@Cidade		varchar(50),
	@Estado		varchar(50),
	@CEP		varchar(50),
	@Regiao		varchar(50)

AS
BEGIN
	INSERT AddCliente(Nome, SobreNome, Endereco, Cidade, Estado, CEP, Regiao)
	VALUES (@Nome, @SobreNome, @Endereco, @Cidade, @Estado, @CEP, @Regiao)
	END
	GO

Compartilhar este post


Link para o post
Compartilhar em outros sites


public SqlCommand Comando { get; set; }

 

Comando.CommandText = "stored_procedure";

Comando.Parameters.Clear();

 

Comando.Parameters.AddWithValue("@parametro1", "valor1");

Comando.Parameters.AddWithValue("@parametro2", "valor2");

Comando.Parameters.AddWithValue("@parametro3", "valor3");

 

Comando.ExecuteNonQuery();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer assim:

 

Criar uma classe com o get e set assim:

 

 


class AddClienteInfo
    {
        #region Membros

        private String _NOME;
        private String _SOBRENOME;
        private String _ENDERECO;
        private String _CIDADE;
        private String _ESTADO;
        private String _CIDADE;
        private String _CEP;
        private String _REGIAO;

        #endregion


        #region Propriedades

        public String NOME
        {
            get { return this._NOME; }
            set { this._NOME = value; }
        }

        public String SOBRENOME
        {
            get { return this._SOBRENOME; }
            set { this._SOBRENOME = value; }
        }

        #endregion

      Não esquecer de terminar os metodos get e set dessa classe


    }

E depois criar uma outra classe chamada AddClienteDAL e dentro dela fazer o método da procedure assim:

 


public void Insert(AddClienteInfo value)
{
    SqlConnection conn = new SqlConnection();
            try
            {
                conn.ConnectionString = Dados.StringDeConexao;  // Essa é uma classe que contén a string de conexão
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "insere_dados";
                
                SqlParameter pnome = new SqlParameter("@Nome", SqlDbType.NVarChar, 100);  // fazer isso para todos
                pnome.Value = value.NOME;
                cmd.Parameters.Add(pnome);   

                conn.Open();
                cmd.ExecuteNonQuery(); 
                         
            }
            catch(SqlException ex)
            {
                new throw Exception("Servidor SQL Erro:" + ex.Number);   
            }
            catch(Exception ex)
            { 
              new throw Exception(ex.Message); 
            }
            finally
            {
                conn.Close();
            }
    
 
}

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.