Usuário com melhor resposta
ERRO AO TENTAR DELETAR REGISTRO

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
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;
conn.Open();
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)
conn.Close();
}
Mais informações:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx
Att.
Ari
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;
conn.Open();
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)
conn.Close();
}
Mais informações:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx
Att.
Ari
-