GARANTIR DESCONTO

Fórum Problema com modificar tabela. #55395

06/03/2006

0

Ola pessoal, estou com um problema com alteração de tabela, é o seguinte:

Toda vez que altero uma tabela, acrecentando um campo por exemplo, não consigo fazer mais a conexão no Delphi, sempre da um tal de erro de SQL apresentando o novo campo como culpado.

Para resolver este problema tive que apagar a tabela ´drop table ...´ e criala novamente. O trabalho é que se alguma outra tabela tiver chave estrangeira, tenho que apagar, e depois criar tudo novamente, da um trabalho...

Alguem sabe como resolver este pequeno probleminha?

Estou usando o FireBird, IBExpert e no delphi o componente IBDataSet.


Ullrich

Ullrich

Responder

Posts

06/03/2006

Thomaz_prg

Verifique se o campo que você criou está listado no Fields Editos do IBDataset. Se não estiver, basta adicioná-lo.


Responder

Gostei + 0

06/03/2006

Ullrich

Acho que pode ser isso mesmo, como vc faz para adicionar o novo campono Fields Editos?


Responder

Gostei + 0

06/03/2006

Thomaz_prg

Dê 2 cliques sobre o IBDataset, clique com o botão direito sobre a tela que abrir e clique em Add Field. Então irá aparecer uma lista com os novos campos. Selecione todos e clique em Ok.

Apenas tome cuidado, pois ao adicionar os novos campos, a sintaxe SQL contida nas expressões de Insert, Delete, Update e Refresh, terão que ser alteradas também.


Responder

Gostei + 0

06/03/2006

Ullrich

Ao ativar a tabela o seguinte erro ocorre.

attempted update of read-only column.


Responder

Gostei + 0

07/03/2006

Thomaz_prg

Faça o seguinte, exclua todos os campos do Fields Editor (Selecione os campos e pressione Delete). Clique com o Botão direito e Clique em Add All Fields. Após os campos terem sido adicionados, feche o Fields Editor, clique com o botão direito do mouse sobre seu IbDataset, clique em Dataset Editor. Na coluna da direita, deixe selecionado apenas o (s)campo(s) que são chave primária (ou unica) na sua tabela, ou seja, os campos que irão na cláusula Where. Na coluna da esquerda selecione todos os campos, menos os que estão selecionados na coluna da direita (a menos que você queira que eles também possam ser alterados). Feito isso, clique sobre o botão Generate Sql, e clique em Ok. Depois veja se o erro persiste.


Responder

Gostei + 0

07/03/2006

Ullrich

Na coluna da direita, deixe selecionado apenas o (s)campo(s) que são chave primária (ou unica) na sua tabela, ou seja, os campos que irão na cláusula Where. Na coluna da esquerda selecione todos os campos, menos os que estão selecionados na coluna da direita (a menos que você queira que eles também possam ser alterados).


Desta forma funcionou, muito obrigado.


Responder

Gostei + 0

07/03/2006

Ullrich

clique em Dataset Editor. Na coluna da direita, deixe selecionado apenas o (s)campo(s) que são chave primária (ou unica) na sua tabela, ou seja, os campos que irão na cláusula Where. Na coluna da esquerda selecione todos os campos, menos os que estão selecionados na coluna da direita (a menos que você queira que eles também possam ser alterados).


Desta forma funcionou, muito obrigado. :lol:



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar