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

Problemas Com Dados


Cleverson Honório Gouvêa

Pergunta

E aí pessoal !!! estou com um probleminha aqui quero ver se derrepente vocês podem me ajudar !!!

Tenho um Form que acessa o banco de dados e vizualiza as informações aí tenho um botão que exclui os dados " table1.delete", mas tem um problema quando o banco já está vazio dá erro, como eu faço para que retorne uma mensagem dizendo que não há dados para serem apagados ao invés de ocorrer o erro???

E esses dados também tem um campo código que tem autoincremento mas acontece que quando eu apago os dados ao invés de voltar para o inicio eles continuam a partir do ponto que pararam, isso não é problema pois vou precisar dele assim, mas como eu reseto o autoincremento se eu precisar???

Meu nome é Cleverson

Eu uso InterBase 6.5 e

Delphi 7

Sou grato desde já pela atenção!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Tenho um Form que acessa o banco de dados e vizualiza as informações aí tenho um botão que exclui os dados " table1.delete", mas tem um problema quando o banco já está vazio dá erro, como eu faço para que retorne uma mensagem dizendo que não há dados para serem apagados ao invés de ocorrer o erro???
Cleverson, abra a tabela, posicione no início e teste se o fim foi encontrado - isto significa que a tabela está vazia:
Table1.Open;
Table1.First;
if not Table1.EOF then
begin
  while not Table1.EOF do
    Table1.Delete;
end else
  ShowMessage('A tabela está vazia')
Table1.Close;
Isto dentro do contexto que você colocou, utilizando Table1.Delete. Mas para limpar a tabela toda, você poderia simplesmente utilizar um componente query e executar uma instrução SQL para fazer isto. Algo como:
DELETE FROM NOME_TABELA (acho que é esta a sintax para o interbase).
E esses dados também tem um campo código que tem autoincremento mas acontece que quando eu apago os dados ao invés de voltar para o inicio eles continuam a partir do ponto que pararam, isso não é problema pois vou precisar dele assim, mas como eu reseto o autoincremento se eu precisar???
você deverá utilizar um componente query para executar a instrução SQL:
SET GENERATOR genenator_ID TO 0

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Rapaz, não deu muito certo não, o código que você me passou deleta todos os dados da tabela, eu quero que ele delete apenas um, especificamente o que está sendo vizualizado!!! Que caso não haja dados para apagar apareça uma mensagem ao invés do erro!!!

Para o SQL a mesma coisa, posso usar o Query mas após o dado ser deletado a tabela precisa ser atualizada para o form não mostrar mais o Dado em tempo real! E quero deletar especificamente o dado que está a ser vizualizado!

Editado por Cleverson Honório Gouvêa
Link para o comentário
Compartilhar em outros sites

  • 0

Cleverson, desculpe se entendi mal. Também não dei retorno porque estava ausente em férias.

Rapaz, não deu muito certo não, o código que você me passou deleta todos os dados da tabela, eu quero que ele delete apenas um, especificamente o que está sendo vizualizado!!! Que caso não haja dados para apagar apareça uma mensagem ao invés do erro!!!

if not Table1.EOF then
  Table1.Delete
else
  ShowMessage('A tabela está vazia');

Para o SQL a mesma coisa, posso usar o Query mas após o dado ser deletado a tabela precisa ser atualizada para o form não mostrar mais o Dado em tempo real!
Acho que você pode utilizar Table1.Refresh. Mas, se ainda não funcionar, então terá que fechar e abrí-la (mas acredito quen não seja o caso)

A questão do reset do auto-incremente ficou ok?

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, resolveu sim o generator!!!

O table1.refresh também só que em partes!!!

O que acontece:

Quando eu crio um novo dado, quando eu apago, os formulários ao serem vizualizados recebem as alterações em tempo real!!!

Tenho um formulário de alterações e um de consulta.

Quando eu apago um dado no Formulário de alterações, fecho ele, e vou pro de consulta ele recebe a alteração!!!!

Agora se eu alterar um dado especifico ele não recebe!?

Ex: Se o nome do cliente era Joaquim, eu vou no Form de Alterações e mudo pra José

Quando eu for no de consulta aparecerá Joaquim!?

Porém se eu fecho o aplicativo e reabro ele a alteração aparece, mas queria que aparecece em tempo real, não quero ficar abrindo e fechando o software!!!

Alguém sabe o que pode estar acontecendo, e como eu resolvo isso!??

o comando Table.refresh não serve pois já tentei!

valeu Galera!

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...