Ir para conteúdo
Fórum Script Brasil
  • 0

procedimento Excluir


Livio Neiva

Pergunta

fiz todo procedimento em SQL

Ao clicar em excluir quando não tiver item selecionado, da erros.

Eu quero q botão excluir fique inativo quando não estiver nada para excluir

ou q informe q não há itens para ser excluídos.

Gostaria da resposta baseado no procedimento que fiz

procedimento todo em SQL

codBanco é uma variavel global do tipo integer

procedure TF_Bancos.BtnExcluirClick(Sender: TObject);

begin

codBanco := F_Dados.Q_Banco.FieldbyName ('Codigo').Value;

if Application.MessageBox('Deseja Realmente Excluir?','Pergunta do Sistema',mb_YesNo + mb_IconQuestion) = idYes then begin

F_Dados.Q_Banco.Active := False;

F_Dados.Q_Banco.SQL.Clear;

F_Dados.Q_Banco.SQL.Add('DELETE FROM BANCO WHERE CODIGO = '+#39+IntToStr(codbanco)+#39);

F_Dados.Q_Banco.ExecSQL;

end;

end;

Valeu obrigado a todos

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Ao clicar em excluir quando não tiver item selecionado, da erros.

procedure TF_Bancos.BtnExcluirClick(Sender: TObject);
begin

   codBanco := F_Dados.Q_Banco.FieldbyName ('Codigo').Value;

   if codBanco = 0 then
      begin
         MessageDlg('Nenhum registro foi selecionado para exclusão! ', mtInformation, [mbOK], 0); 
         exit;
      end;

   if Application.MessageBox('Deseja Realmente Excluir?','Pergunta do Sistema',mb_YesNo + mb_IconQuestion) = idYes  then begin
      F_Dados.Q_Banco.Active := False;
      F_Dados.Q_Banco.SQL.Clear;
      F_Dados.Q_Banco.SQL.Add('DELETE FROM BANCO WHERE CODIGO = '+#39+IntToStr(codbanco)+#39);
      F_Dados.Q_Banco.ExecSQL;
   end;
end;

Eu quero q botão excluir fique inativo quando não estiver nada para excluir

Neste caso voce tem que testar a variavel codBanco fora do botão Excluir, para poder desabilita-lo ou não

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Porque simplesmente você não o deixa inativo quando não houver nada selecionado ao invés de deixar inativo quando não houver nada na Query para ser deletado?

É mais simples.

Abraço.

Pro favor nobre amigo!!

pode me mande um exemplo como faço para deixa inativo, mais se for possivel, um exemplo, baseado no meus procedimentos que postei acima.

valeu obrigado!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Porque simplesmente você não o deixa inativo quando não houver nada selecionado ao invés de deixar inativo quando não houver nada na Query para ser deletado?

É mais simples.

Abraço.

Pro favor nobre amigo!!

pode me mande um exemplo como faço para deixa inativo, mais se for possivel, um exemplo, baseado no meus procedimentos que postei acima.

valeu obrigado!!!

Olá amigo, bom dia.

Você está "recebendo" o registro que está querendo deletar em algum Edit, DBEdit, alguma coisa?

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
Porque simplesmente você não o deixa inativo quando não houver nada selecionado ao invés de deixar inativo quando não houver nada na Query para ser deletado?

É mais simples.

Abraço.

Pro favor nobre amigo!!

pode me mande um exemplo como faço para deixa inativo, mais se for possivel, um exemplo, baseado no meus procedimentos que postei acima.

valeu obrigado!!!

Olá amigo, bom dia.

Você está "recebendo" o registro que está querendo deletar em algum Edit, DBEdit, alguma coisa?

Abraço.

eu tenho um formulario que estar feito em Edits, outro que estar sendo feito em DBdits e outro que estar sendo feito no Proprio DBgrid.

Seria possivel você me mandar um exmplo para cada um???

valeu obrigado pela atenção!!!

Link para o comentário
Compartilhar em outros sites

  • 0

ola todos!!!

Ele compilou numa boa, mais na hora que eu testei, ou seja tentei excluir sem nenhum registro selecionado ele deu erro.

Outra coisa, se for possível tb fazermos essa correção!!!

Nesse mesmo formularios com os mesmo procedimento, eu tenho uma lista de registro, quando eu excluo um registro, os outros desaparecem, e tenho que listar-los todos novamentes, e não quero assim, eu quero excluir um registros e que os outros registros continue listados.

Como faço para resolver isso??

Veja a menssagem;

Could not convert variant of type (null) into type (Integer)

Com essa linha tachada em azul

codBanco := F_Dados.Q_Banco.FieldbyName('codigo').Value;

procedure TF_Bancos.BtnExcluirClick(Sender: TObject);

begin

codBanco := F_Dados.Q_Banco.FieldbyName('codigo').Value;

if codBanco = 0 then

Begin

MessageDlg('Nenhum registro foi selecionado para Exclusão!',mtInformation,[mbOK],0);

Exit;

end;

if Application.MessageBox('Deseja Realmente Excluir?','Pergunta do Sistema',mb_YesNo + mb_IconQuestion) = idYes then begin

F_Dados.Q_Banco.Active := False;

F_Dados.Q_Banco.SQL.Clear;

F_Dados.Q_Banco.SQL.Add('DELETE FROM BANCO WHERE CODIGO = '+#39+IntToStr(codbanco)+#39);

F_Dados.Q_Banco.ExecSQL;

end;

end;

como faço para resolver??

Valeu obrigado a todos que participam desse fórum!!!

Ao clicar em excluir quando não tiver item selecionado, da erros.

procedure TF_Bancos.BtnExcluirClick(Sender: TObject);
begin

   codBanco := F_Dados.Q_Banco.FieldbyName ('Codigo').Value;

   if codBanco = 0 then
      begin
         MessageDlg('Nenhum registro foi selecionado para exclusão! ', mtInformation, [mbOK], 0); 
         exit;
      end;

   if Application.MessageBox('Deseja Realmente Excluir?','Pergunta do Sistema',mb_YesNo + mb_IconQuestion) = idYes  then begin
      F_Dados.Q_Banco.Active := False;
      F_Dados.Q_Banco.SQL.Clear;
      F_Dados.Q_Banco.SQL.Add('DELETE FROM BANCO WHERE CODIGO = '+#39+IntToStr(codbanco)+#39);
      F_Dados.Q_Banco.ExecSQL;
   end;
end;

Eu quero q botão excluir fique inativo quando não estiver nada para excluir

Neste caso voce tem que testar a variavel codBanco fora do botão Excluir, para poder desabilita-lo ou não

abraço

Ele compilou numa boa, mais na hora que eu testei, ou seja tentei excluir sem nenhum registro selecionado ele deu erro.

Outra coisa, se for possível tb fazermos essa correção!!!

Eu tenho uma lista de registro, quando eu excluo um registro, os outros desaparecem, e tenho que listar-los todos novamentes, e não quero assim, eu quero excluir um registros e que os outros registros continue listados.

Como faço para resolver isso??

Veja a menssagem;

Could not convert variant of type (null) into type (Integer)

Com essa linha tachada em azul

codBanco := F_Dados.Q_Banco.FieldbyName('codigo').Value;

procedure TF_Bancos.BtnExcluirClick(Sender: TObject);

begin

codBanco := F_Dados.Q_Banco.FieldbyName('codigo').Value;

if codBanco = 0 then

Begin

MessageDlg('Nenhum registro foi selecionado para Exclusão!',mtInformation,[mbOK],0);

Exit;

end;

if Application.MessageBox('Deseja Realmente Excluir?','Pergunta do Sistema',mb_YesNo + mb_IconQuestion) = idYes then begin

F_Dados.Q_Banco.Active := False;

F_Dados.Q_Banco.SQL.Clear;

F_Dados.Q_Banco.SQL.Add('DELETE FROM BANCO WHERE CODIGO = '+#39+IntToStr(codbanco)+#39);

F_Dados.Q_Banco.ExecSQL;

end;

end;

como faço para resolver??

Valeu obrigado a todos que participam desse fórum!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Veja a menssagem;

Could not convert variant of type (null) into type (Integer)

Não pode converter variante de tipo (nulo) em tipo (Inteiro)

codBanco := F_Dados.Q_Banco.FieldbyName('codigo').Value;

Isso é definição de campo de tabela

Outra coisa, se for possível tb fazermos essa correção!!!

Eu tenho uma lista de registro, quando eu excluo um registro, os outros desaparecem, e tenho que listar-los todos novamentes, e não quero assim, eu quero excluir um registros e que os outros registros continue listados.

observe o que voce faz

codBanco := F_Dados.Q_Banco.FieldbyName('codigo').Value;

voce esta usando a mesma query para selecionar o código e depois excluir o registro

if Application.MessageBox('Deseja Realmente Excluir?','Pergunta do Sistema',mb_YesNo + mb_IconQuestion) = idYes then begin

F_Dados.Q_Banco.Active := False;

F_Dados.Q_Banco.SQL.Clear;

F_Dados.Q_Banco.SQL.Add('DELETE FROM BANCO WHERE CODIGO = '+#39+IntToStr(codbanco)+#39);

F_Dados.Q_Banco.ExecSQL;

end;

quando eu excluo um registro, os outros desaparecem

Veja que aqui voce fecha a query, limpa a SQL e depois deleta somente o registro escolhido

o que fica mostrando no DBgrid ??? nada!

eu quero excluir um registro e que os outros registros continue listados

a maneira correta não é usar a mesma query em que voce esta deletando... até poderia ser feito assim, mas não dessa maneira.

Porque não usa o dbnavigator para fazer isso (deletar registros ) na mesma query em que esta visualizando os registros ? é muito mais facil ... ou então trabalhe com querys diferentes apontando para a mesma tabela

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...