Cannot modify a ready-only dataset...

Delphi

09/09/2004

Tenho um form, com um ibdataset e uma ibquery. Porque não estou conseguindo inserir, modificar ou trabalhar com os dados da ibquery pois aparece a mensagem do título.
O que está havendo na minha aplicação?

Agradeço a atenção.


Horus

Horus

Curtidas 0

Respostas

Jc_analista

Jc_analista

09/09/2004

vc tem que colocar um objeto updatesql


GOSTEI 0
Balceiro

Balceiro

09/09/2004

cara pode parecer idiota mas seu banco de dados não está como somente leitura?

isso acontecia quando eu usava bd paradox, quando eu copiava o sistema pro cd e depois copiava para a máquina do usuário as tabelas ficavam somente leitura, ai aparecia exatamente essa mensagem.


GOSTEI 0
Horus

Horus

09/09/2004

O pior é que não está como somente leitura. Olhei isso também. Já os outros módulos da aplicação, como o cadastro dos clientes ele funciona normalmente.

É que é assim: este é um formulário de vendas e tenho o ibdataset1 como o de dados principais da venda. Este que estou querendo manipular é o de dados dos produtos.


GOSTEI 0
Lucas Silva

Lucas Silva

09/09/2004

vc tem que colocar um objeto updatesql

Complementando....
Olhe na propriedade [b:0c0c9d9d87]updateObject [/b:0c0c9d9d87]se está apontando para um [b:0c0c9d9d87]updateSQL[/b:0c0c9d9d87]


GOSTEI 0
Horus

Horus

09/09/2004

Coloquei o objeto updatesql mas aí deu outro erro:

attempted to update a read-only column!


GOSTEI 0
Lucas Silva

Lucas Silva

09/09/2004

Coloquei o objeto updatesql mas aí deu outro erro: attempted to update a read-only column!

Dentre estes campos, tem algum campo calculado?


GOSTEI 0
Horus

Horus

09/09/2004

Coloquei o objeto updatesql mas aí deu outro erro:

attempted to update a read-only column!

Mas, se eu colocar uma IBTable ele dá certo.

Por que eu não consigo trabalhar com a IBQuery ou até mesmo com outro IBDataSet?


GOSTEI 0
Horus

Horus

09/09/2004

Sim. Tem um campo calculado. O campo do preco total:

quantidade * preco_unitario


Pode ter alguma coisa haver???


GOSTEI 0
Gandalf.nho

Gandalf.nho

09/09/2004

Tu não deve incluir campos calculados nas SQLs do IbUpdateSQL.


GOSTEI 0
Horus

Horus

09/09/2004

Sei que é coisa de principiante mas, preciso perguntar:

- Por que tenho que ter um updateSQL para a minha Query???

Eu não posso utilizar 2 ibdataset num mesmo formulário???


GOSTEI 0
Lucas Silva

Lucas Silva

09/09/2004

Tu não deve incluir campos calculados nas SQLs do IbUpdateSQL.

Isso mesmo...
Monte o SQL do update sem este campo....
Ai vai dar certo.....


GOSTEI 0
Gandalf.nho

Gandalf.nho

09/09/2004

Claro que tu pode usar mais de 1 IBDataSet no mesmo formulário. E o IBQuery é read-only, só se tornando próprio para edição com a ajuda do IBUpdateSQL.


GOSTEI 0
Horus

Horus

09/09/2004

Gostaria de agradecer a colaboração e atenção daqueles que me ajudaram.

gandalf.nho
jc_analista
Lucas Alves Silva
balceiro

Deu tudo certo.
Foi só colocar um UpdateSql e retirar dele o campo calculado.

Mais uma vez obrigado.


GOSTEI 0
POSTAR