Fórum Método para Deletar não funciona #23989
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
Curtir tópico
+ 0Posts
17/07/2008
Ricardo Silva
qual???
Gostei + 0
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
Gostei + 0
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
Gostei + 0
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
Gostei + 0
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
Gostei + 0
18/07/2008
Dotnet
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)