Método para Deletar não funciona

17/07/2008

0

Bom dia,

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

Dotnet

Responder

Posts

17/07/2008

Ricardo Silva

mas da algum erro????

qual???


Responder

18/07/2008

Dotnet

Olá Ricardo,

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


Responder

18/07/2008

Ricardo Silva

entaum... os comando SQL esta correto...
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


Responder

18/07/2008

Dotnet

Olá Ricardo

Eu debuguei a aplicação e realmente ID_Modulo = 0, mas como faço pra resolver isso, já que estou usando um gridiview???

obrigada


Responder

18/07/2008

Ricardo Silva

como vc esta chamando a função delete();

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


Responder

18/07/2008

Dotnet

Na verdade eu estou usando um gridiview onde habilitei a opção para deletar através da smartTag. Como eu poderia resolver nesse caso???


Responder

20/07/2008

Donatopaschoa

Boa tarde´DOTNET´:

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



Bom dia, 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



Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar