Método para Deletar não funciona
17/07/2008
0
Estou desenvolvendo um projeto em camadas e o método para deletar não funciona, já testei a procedure e funcionou normalmente, não entendo porque no gridview..ele não funciona, segue código da Classe
public void delete(int ID_Modulo)
{
SqlConnection con = new SqlConnection(ConStr);
string SQL = ´DeleteModulo´; //´delete Modulo where ID_Modulo=@ID_Modulo´;
SqlCommand cmd = new SqlCommand(SQL,con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue(´@ID_Modulo´,ID_Modulo);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
obrigada
Dotnet
Posts
18/07/2008
Dotnet
Não apresenta nenhum erro, simplesmente não deleta. O que poderia ser?
Peguei o código feito pelo Guinther, para testar e tb não funcionou, dá a impressão de que é alguma coisa no Gridview...
se souber qual é o erro por favor me avise
obrigada
18/07/2008
Ricardo Silva
o que pode estar acontecendo é a passagem de parametro...
ou seja, se vc passar o ID_modulo = 0, ele vai deletar o modulo de codigo 0 esse comando executa sem erros, porem não afeta nehuma linha pois não existe este modulo.
tenta debugar e ver qual realmente o codigo do ID_Modulo
na duvida soh posta
18/07/2008
Dotnet
Eu debuguei a aplicação e realmente ID_Modulo = 0, mas como faço pra resolver isso, já que estou usando um gridiview???
obrigada
18/07/2008
Ricardo Silva
se tiver em um clique do botão:
private void btnExcluir_Click(object sender, EventArgs e) { if(grid.CurrentRow != null) { if(MessageBox.Show("Deseja realmente excluir este registro?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes){ int codigo = (int)grid.CurrentRow.Cells["colCodigo"].Value; delete(codigo); } } else { MessageBox.Show("Selecione um registro", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
na duvida soh posta
18/07/2008
Dotnet
20/07/2008
Donatopaschoa
Pelo que entendi não há problema na sua aplicação Web pois qdo vc executa a Store Procedurediretamente no SQL há o retorno esperado.
Acredito que o problema esteja localizado no servidor SQL, ou seja, faltou vc ceder direitos de execução na Store Procedure p/ o usuário da sua aplicação Web.
P/ testar se o erro acima se enquadre, basta vc se logar ao SQL c/ o usuário e a senha ref. a string de conexão da sua aplicação Web e tentar executar a Store Procedure. Desta forma, além de vc testar em ´modo real´, a mensagem de erro da Store Procedure estará detalhando o tipo de erro (pode ser que seja falta de direitos ref. deletar a tabela relacionada além da execução da Store Procedure).
Espero ter contribuído.
Abçs
Clique aqui para fazer login e interagir na Comunidade :)