Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardosoares1rj

cannot modify a read-only dataset(BDE)

Recommended Posts

Olá Pessoal, boa tarde!!!

 

eu estou tentando fazer uma exclusão, e não estou conseguindo pq recebo a mensagem

 

cannot modify a read-only dataset(BDE) e o componente Query, não tem essa propriedade, ja conferi a propriedade Read-Only do databaseConnection, e esta como false.

 

me ajudem...

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde a todos.

 

Não basta a propriedade ReadOnly do DataBase está false, esta propriedade está também presente nos componentes Table e Query e também tem que está ajustada para false.

 

Mesmo assim ainda não é o suficiente para o componente Table ou Query deixar de ser Read-Only.

 

Como assim ?

 

Os componentes Table e Query precisam de outro componente para atualizar o banco, sem esse componente eles se tornam um DataSet somente de leitura, qual o nome desse componente ? UpdateSQL, e ele está também presente na palheta BDE.

 

Eu disse que ele está também presente na palheta BDE, porque esse componente não só exclusivo do BDE, na palheta Interbase também tem um, e é configurado do mesmo jeito que no BDE, entretanto como estamos falando de BDE, vamos então ao que interessa.

 

1º) Abra a palheta BDE e procure pelo componente TUpdateSQL e arraste um para o Form.

 

2º) Dê a ele o nome que quiser, exemplo 'UpdateCliente', 'UpdateVendas' e etc, depois selecione o componente Table ou Query e vá na propriedade UpdateObject e na caixa combo aponte para este compoente UpdateSQL.

 

3º) Dê dois clicks no componente UpdateSQL e voce verá dentro do seu editor uma caixa combo contendo o nome da tabela que é lida no componente Table ou Query que voce conectou, e duas caixas de listagems chamadas Key Fields e Update Fields. Em Key Fields, selecione de preferência a chave primaria que é por essa chave que os dados serão atualizados e em Update Fields, os campos que voce queira atualizar. Click em Generate SQL e pronto. Na Aba Sql voce verá todo o código SQL de Atualização em Modify, Insert e Delete, não mexa nesse código. Feche o Editor e pronto, seu componente já está apto a atualizar a tabela.

 

Um abraço.

 

Jorge da Silva Abreu

Compartilhar este post


Link para o post
Compartilhar em outros sites

O BDE de fato é bem problemático.

Não necessariamente usar um UpdateSQL seria a solução.

 

O que dá pra se fazer também é, alem do 'ReadOnly' como 'TRUE', é deixar a também a propriedade 'RequestLive' como 'TRUE'.

Só que nesse caso, ao inserir a instrução SQL na Query, procure deixar o nome da tabela em letras maiúsculas, senão dá pau.

 

Aqui tem funcionado assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.