none
erro no no delete RRS feed

  • Pergunta

  • ola estou com um pequeno problema para excluir um cadastro... a sql esta correta mas nao esta passando o valor do  codigo do item do formulario para ser deletado...no form esta indo o valor agora nao sei se o erro esta na camada de negocios ou se esta na hora de receber na camada de acesso a dados vou colocar a programação aqi

     

    no botao excluir q esta no form

     

    private void btExcluir_Click(object sender, EventArgs e)

    {

     

          if (CdEquipamentos.Text.Length == 0)

                {

     

                      MessageBox.Show(" necess rio escolher um Equipamento");

               }

     

    else

            {

     

                 int codigo = int.Parse(CdEquipamentos.Text);

                bEquipamento.delete(mEquipamento);

     

               MessageBox.Show("Equipamento Excluido com Sucesso!!");

    }

    }

     

    camada de negocios

     

    public void delete(MOV.EquipamentoMOV mEquipamento)

    {

             dEquipamento.delete(mEquipamento);

    }

     

    camada de acesso a dados

     

    public

     

    void delete(MOV.EquipamentoMOV mEquipamento)

    {

     

            SqlConnection Con = new SqlConnection(ConStr);

     

             string SQL = "delete from Equipamentos where CdEquipamento = @Cod";

     

            SqlCommand Cmd = new SqlCommand(SQL, Con);

           Cmd.Parameters.AddWithValue(

    "@Cod", mEquipamento.CodEquipamento);

          Con.Open();

     

    try

    {

            Cmd.ExecuteNonQuery();

    }

     

    finally

    {

            Con.Close();

    }

     

    }

    segunda-feira, 25 de outubro de 2010 17:29

Respostas

  • Claudio acho que o código do seu botão excluir está passando o objeto "mEquipamento" nulo.

    aqui vc pega o código

    int codigo = int .Parse(CdEquipamentos.Text);

     

    mais o seu delete está pegando um objeto:

                bEquipamento.delete(mEquipamento);

     

    então te sugiro que vc pegue o codigo e faça um select no banco para te retornar um objeto (acho que te postei esse código) que tenha o código tal e ai sim chama o método delete com o objeto em questão.

     


    Pablo Batista Cardoso
    segunda-feira, 25 de outubro de 2010 17:43

Todas as Respostas

  • Claudio acho que o código do seu botão excluir está passando o objeto "mEquipamento" nulo.

    aqui vc pega o código

    int codigo = int .Parse(CdEquipamentos.Text);

     

    mais o seu delete está pegando um objeto:

                bEquipamento.delete(mEquipamento);

     

    então te sugiro que vc pegue o codigo e faça um select no banco para te retornar um objeto (acho que te postei esse código) que tenha o código tal e ai sim chama o método delete com o objeto em questão.

     


    Pablo Batista Cardoso
    segunda-feira, 25 de outubro de 2010 17:43
  • Cláudio,

    Concordo com o Pablo em relação ao erro, mas minha sugestão seria criar um método ExcluirEquipamento que já recebe o código do equipamento a ser excluído para então evitar a execução de 2 consultas ao banco (SELECT e DELETE).

    Att.

    Ari C. Raimundo
    MCAD, MCTS
    http://araimundo.blogspot.com  

    terça-feira, 26 de outubro de 2010 00:46
    Moderador