Fórum TABLE IS READ ONLY #141084
26/02/2003
0
mas ao tentar dar um insert nele, dá ´Table is read only´
como atribuo o valor de leitura e escrita na tabela com o componente query?
Garciabh2
Curtir tópico
+ 0Posts
26/02/2003
Danielc
Verifique o arquivo que vc esta usando se ele no windows não esta configurado para ´somente leitura´. Se vc copiou esse arquivo de algum lugar, as vezes o windows altera essa propriedade para True. Já aconteceu isso comigo e qdo ia escrever dados dava esse problema. testa isso, se naum for me manda um e-mail que eu vejo se posso te ajudar..
[]´s Daniel
Gostei + 0
26/02/2003
Torres Delphi
Como varios testes descobri que dependendo da instrucao SQL que eu utilizava, o erro acontecia. Coisas basicas do tipo: ´Select * from tabela´ funcionavam numa boa, mas, join, count, etc nao funcionam, e mostra o erro que vc esta enfrentando.
Pesquisei no net e descobri um artigo que falava da limitacao dos comandos SQL em querys com Request Live:= true.
Procure nas questoes anteriores o link que coloquei na minha propria questao (eu nao estava registrado por um problema que houve com o meu login antigo neste forum, logo estara como Visitante)
Qq duvida me mande um e-mail
Abracos
Gostei + 0
26/02/2003
Garciabh2
fiz um botao pra deletar um registro da tabela, mas gostaria que fosse mostrada uma mensagem pedindo confirmacao, mas se faço assim:
MessageDlg(´Quer realmente deletar este registro?´, mtConfirmation, mbOkCancel, 0);
TBLcliente.Delete;
ele deleta independente do botao que for clicado...
como é o jeito certo de tratar isso?
Brigadao
Gostei + 0
26/02/2003
Torres Delphi
Amigos,
Ha alguns dias deixei uma questao sobre uma query que mostrava mensagem read only na abertura da mesma. Fiz alguns testes no programa e identifiquei que o erro nao acontecia qdo a instrucao SQL era ´basica´, do tipo: ´Select * from tabela´.
Fica a dica para todos.
Torres
Dependendo da instrucao SQL utilizada, o ´erro´ acontece.
Veja o trecho abaixo, retirado de ´Susviela´
http://www.susviela.hpg.ig.com.br/delphi/delphi/tquery.htm
Confira a materia na integra
LIVE QUERIES
O componente Query nem sempre tem seu conjunto de valores de retorno possível de ser atualizado. Existem dois tipos de valores de retorno para Queries:
Live result sets - O usuário pode editar os dados da forma desejada, como um Table.
Read-Only result sets - o usuário não consegue alterar nenhum dos valores retornados pela Query.
Por default, uma query sempre retorna um conjunto de valores que são somente de leitura. Para que você consiga um conjunto de valores alteráveis:
Coloque a propriedade RequestLive para True e;
Use a sintaxe do SELECT conforme o guia abaixo.
Se você não fizer o passo nº 2 corretamente, não conseguirá um Live result set. Quando um TQuery retorna um conjunto de valores que podem ser modificados, o Delphi altera a propriedade CanModify para True.
Tabela de necessidades da sintaxe SQL para Live result sets:
Para o caso de Paradox ou dBase
Referenciar somente uma Tabela
Não fazer uso da cláusula ORDER BY
Não usar funções agregadas, como SUM e AVG.
Não usar campos calculados na lista do SELECT
Usar uma cláusula WHERE que consista somente na comparação das colunas com constantes. As comparações podem ser LIKE, > < , >=, e <=. Esta clausula pode conter qualquer número de junções OR e AND.
Gostei + 0
26/02/2003
Garciabh2
meu problema era o Order by
tirei isso aí ele funcionou
Gostei + 0
17/03/2011
Daniel Lucena
Funcionou dessa forma: Query1.SQL.Clear; query1.SQL.Add('update requisicao_transportes set Status_Requisicao = ''A'' where Seq_Requisicao_Transporte LIKE '+ QuRequisicao_TransportesSeq_Requisicao_Transporte.asstring); Query1.ExecSQL;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)