EXCLUIR REGISTRO DE UMA TABELA (PROBLEMA)???
:arrow: Olá Galera do CLube Delphi
: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!
: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
Curtidas 0
Respostas
Tnaires
28/12/2003
Olá alexandre
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:
Espero q dê certo. Sucesso
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
Jfalexandre
28/12/2003
Obrigado!
Vou tentar depois retorno...
Vou tentar depois retorno...
GOSTEI 0
Lipsil
28/12/2003
Kra,
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í ;)
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
Nigro
28/12/2003
amigo...
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.
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
Joe Ventrue
28/12/2003
se eu fosse vc, antes de criar rotina SQL para isso, tentaria:
: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
: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
Jfalexandre
28/12/2003
Olá Galera, tenho que excluir uma rotina de uma Query1, a rotina é uma pesquisa, onde a busca foi feita através do select * from Tabela, fiquei sabendo que é possível através do componente UpdateSql deletar essa rotina mesmo sendo apenas um filtro, como uso este componente, tentei mas nada funcionou.
Se alguém puder me ajudar, desde já obrigado!
Se alguém puder me ajudar, desde já obrigado!
GOSTEI 0
Joe Ventrue
28/12/2003
limpa rotina? como assim??
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
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