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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar