Ir para conteúdo

Arquivado

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

Clauido José

store procedure

Recommended Posts

Pessoal estou criando um sistema em casa com C# sql server 2013, usando store procedure, criei um procedure para atualizar a categoria simples mas não está atualizando quando verifico no banco não atualiza o que eu digito sempre atualiza CATEGORIA: o que pode ser.

Minha procedure:

CREATE PROCEDURE pCategoria_UPD_Por_Codigo
	@categoria varchar(30),
	@codigo int
AS
BEGIN
UPDATE
	Categoria
SET
	Nome_cat = UPPER(@categoria)
WHERE
	Cod_cat = @codigo
END

A chamada


        private void exemploButton_Click(object sender, EventArgs e)
        {
            
            //Definir conexao com banco
            SqlConnection cn = new SqlConnection();

            // passar a conexão para connection string
            cn.ConnectionString = "Data Source=THACKA\\SQLEXPRESS;Initial Catalog=LojaSql;Persist Security Info=True;User ID=sa;Password=sa";
            
            //Definir o comando 
            SqlCommand cmd = new SqlCommand();

            //passar a string para o comando
            cmd.Connection = cn;
            if (codigoTextBox.Text == "")
            {
                MessageBox.Show("Digite um código valido:", "Aviso",
                                    MessageBoxButtons.OKCancel,
                                    MessageBoxIcon.Exclamation);
                codigoTextBox.Focus();
            }
            else
            {
                //Passar a instrução SQL para store procedur3e
                cmd.CommandText = "pCategoria_UPD_Por_Codigo";

                //Acressenta os parametros à coleção de parametros de comando
                cmd.Parameters.AddWithValue("@codigo", codigoTextBox.Text);
                cmd.Parameters.AddWithValue("@categoria",categoriaLabel.Text);
                
                //especifica que tipo de instrução foi passada para CommandText
                cmd.CommandType = CommandType.StoredProcedure;

                try 
	            {	        
		            //abir conexao
                    cn.Open();

                    //O método ExecuteNonQuery() retorna o número de registros afetados pela instrução,
                    //no caso, se o resultado for maior que zero a alteração ocorreu com sucesso
                    //se não, o código não foi localizado
                    if (cmd.ExecuteNonQuery() > 0)
                    {
                        exemploLabel.Text = "Código: " +codigoTextBox.Text +
                                            "\n Categoria: " + categoriaLabel.Text +                                            
                                            "\n Alterada com Sucesso";
                        exemploLabel.ForeColor = Color.Blue;
                    }
                    else
                    {
                        throw new Exception("Código não localizado");
                    }
	            }
	            catch (Exception ex)
	            {
		            exemploLabel.Text = ex.Message;
                    exemploLabel.ForeColor = Color.Red;
	            }
                finally
                {
                    //Garanti o fechamnte da conexao
                    if (cn.State != ConnectionState.Closed) { cn.Close(); }
                }
            }
        }

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.