none
ERRO AO TENTAR DELETAR REGISTRO RRS feed

  • Pergunta

  • Boa noite pessoal, é o seguinte, não estou conseguindo deletar um registro do meu banco..segue os códigos pertinentes...


    CLASSE DAL

    public void excluiProtocoloContabil(SetorContabil Contabil)
    {
    //conexão
    SqlConnection conn = new SqlConnection();
    try
    {
    conn.ConnectionString = Dados.StrConnection;
    //command
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn;
    cmd.CommandText = "DELETE FROM tbSetorContabil WHERE idContabil = @id";
    cmd.Parameters.AddWithValue("@id", Contabil.Id);

    }

    catch (SqlException e)
    {
    string.Format(@"Ocorreu um erro na tentativa de conexão com o Banco de Dados. Mensagem: {0}", e.Message);
    }
    catch (Exception e)
    {
    string.Format(@"Ocorreu um erro na tentativa de conexão com o Banco de Dados. Mensagem: {0}", e.Message);
    }
    finally
    {
    conn.Close();
    }

    }

    EVENTO DO FORM
    private void btn_excluir_Click(object sender, EventArgs e)
    {
    SetorContabil Contabil = new SetorContabil();
    Contabil.Id = int.Parse(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString());
    SetorContabilDAL excluir = new SetorContabilDAL();
    excluir.excluiProtocoloContabil(Contabil);
    MessageBox.Show("Protocolo Excluido com sucesso.");
    }


    Simplesmente não exclui...

    VLW



    sábado, 11 de outubro de 2008 21:16

Respostas

  • Cleidson,

     

    Está faltando chamar o método ExecuteNonQuery do seu comando após a inclusão do parâmetro e também abrir a conexão.

     

    Code Snippet

    //conexão

    SqlConnection conn = new SqlConnection();

     

    try

    {

    conn.ConnectionString = Dados.StrConnection;

     

    // abre conexão

    conn.Open();

     

    // commando

    SqlCommand cmd = new SqlCommand();

    cmd.Connection = conn;

    cmd.CommandText = "DELETE FROM tbSetorContabil WHERE idContabil = @id";

    cmd.Parameters.AddWithValue("@id", Contabil.Id);

     

    // executa comando

    cmd.ExecuteNonQuery();

    }

    catch (SqlException e)

    {

    ...

    }

    catch (Exception e)

    {

    ...

    }

    finally

    {

    // fecha conexão (se aberta)

    if (conn.State == ConnectionState.Open)

    conn.Close();

    }

     

    Mais informações:

    http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx

     

    Att.

     

    Ari

    sábado, 11 de outubro de 2008 23:54

Todas as Respostas

  • Cleidson,

     

    Está faltando chamar o método ExecuteNonQuery do seu comando após a inclusão do parâmetro e também abrir a conexão.

     

    Code Snippet

    //conexão

    SqlConnection conn = new SqlConnection();

     

    try

    {

    conn.ConnectionString = Dados.StrConnection;

     

    // abre conexão

    conn.Open();

     

    // commando

    SqlCommand cmd = new SqlCommand();

    cmd.Connection = conn;

    cmd.CommandText = "DELETE FROM tbSetorContabil WHERE idContabil = @id";

    cmd.Parameters.AddWithValue("@id", Contabil.Id);

     

    // executa comando

    cmd.ExecuteNonQuery();

    }

    catch (SqlException e)

    {

    ...

    }

    catch (Exception e)

    {

    ...

    }

    finally

    {

    // fecha conexão (se aberta)

    if (conn.State == ConnectionState.Open)

    conn.Close();

    }

     

    Mais informações:

    http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx

     

    Att.

     

    Ari

    sábado, 11 de outubro de 2008 23:54
  • Valeu Irmaõ, funcionou...
    abraços!
    domingo, 12 de outubro de 2008 00:41