Fórum EXCLUIR REGISTRO DE UMA TABELA (PROBLEMA)??? #203285
28/12/2003
0
:roll: Meu problema é o seguinte, tenho um projeto e nele tem uma parte de Agendar compromisso, fiz uma pesquisa dos Compromisso em Sql por ordenando por mês, Trabalho com Delphi 6 e Paradox, o problema é que coloquei a pesquisa em um ComboBox, quando solicito o mês, é filtrado todos os Compromissos somente daquele mês que é mostra em um DBGrid, até tudo bem, mas o problema é que quero colocar um botão para excluir o compromisso selecionado no DBGrid, só que já tentei vários comandos e sempre aparece esta mensagem de erro:
´´Table is read only´´
Ou seja a tabela é somente leitura, sou praticamente programador iniciante, gostaria da ajuda de vcs, já tentei fazer com que a {query.database.readonly = false}, fechei a tabela, e abri, mas sempre aparece a Mensagem.
:idea: ´´ alguém puder me dar pelo menos uma dica´´
:wink: Desde já, Muito obrigado!
Jfalexandre
Curtir tópico
+ 0Posts
29/12/2003
Tnaires
Explique melhor por favor. Vc tá tentando excluir o registro diretamente do resultado da query?
A única maneira q eu conheço (mas sou iniciante tb :wink: ) d alterar os resultados d uma query é utilizando o componente UpdateSQL (paleta BDE). Mas vc pode fzer tb o seguinte: supomos q Query1 seja o resultado da consulta, vamos criar uma Query2 com o seguinte SQL:
DELETE FROM TabCompromissos WHERE data LIKE :data
Qdo o usuário clicar no botão, faça o seguinte:
Query2.ParamByName(´data´).Value := Query1data.Value; Query2.ExecSQL; // Executa a query pra deletar o compromisso
Espero q dê certo. Sucesso
Gostei + 0
29/12/2003
Jfalexandre
Vou tentar depois retorno...
Gostei + 0
29/12/2003
Lipsil
já tive este problema, mas é simples, faça o seguinte:
clique com o botão direito no arquivo aí da tabela, e clique em propriedades, depois desmarque a caixa ´Somente leitura.´
pronto, achoq é isso aí ;)
Gostei + 0
29/12/2003
Nigro
Creio que você esteja tentando apagar um registro após fazer um select, adianto para você que isso não é possível, pois um select na verdade é apenas um view do seu banco e não o banco propriamente dito, aconselho fazer uma rotina em SQL também para apagar isso pois você tem que apagar do banco e não do select.
Gostei + 0
29/12/2003
Joe Ventrue
:arrow: Mude a Propriedade da query REQUEST LIVE para True;
(...acho q é essa a chave do problema...)
:arrow: depois, coloque no evento do botao a simples linha:
dm.NOMEDAQUERY.delete;
Obs.: Eu sempre uso POPMENU para fazer a exclusao...
:arrow: Entao, se quiser, vc pode criar um popmenu com um opcao(EXCLUIR) e coloque o codigo q descrevi acima...
:arrow: na Propriedade POPMENU da DBGRID coloque o seu POPMENU...
espero ter ajudado...
Abraços
Joe Ventrue
Gostei + 0
31/12/2003
Jfalexandre
Se alguém puder me ajudar, desde já obrigado!
Gostei + 0
01/01/2004
Joe Ventrue
vc quer limpar as instrucoes da sql, é isso né?
Se vc quiser limpar o q ta na sql é só usar o ´clear´
tipo:
Query1.Sql.Clear;
naum sei se é isso q vc quer, mas isso limpa qualquer rotina q vc colocou na Query...
espero ter ajudado...
se nao...me desculpe...
Um Abraço
Joe Ventrue
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)