validation error

22/11/2004

0

:D Uso o Delphi 5 e componentes IBX atualizados. Quero transportar os dados de uma tabela paradox para uma Firebird 1.5. Estou utilizando os seguintes componentes:

TIBDatabase
TIBTransaction
TIBDataSet (QTitulos)
TQuery (para a tabela paradox TEnt_Chi))

Uso o seguinte código:
QTitulos.append;
QTitulosNOME_NOTA.value:=TEnt_ChiNOME.value;
QTitulosNOME_CAPA.value:=TEnt_ChiNOME.value;
QTitulosCOD_BARRA.value:=TEnt_ChiCODIGO_BARRA.value;
QTitulos.post;
:? Ela me retorna o seguinte erro:

[color=red:2d2188f2d6][/color:2d2188f2d6]validation error for column COD_TITULO, value ´***null***´
[color=darkred:2d2188f2d6][/color:2d2188f2d6] usei a receita do afarias para a conexão. O campo COD_TITULO é autoincremento. Para ele usei Required=false e utilizei a propriedade GeneratorField com ApplyEvent em ´OnPost´.

A tabela Titulos construi com o ibExpert
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
CREATE TABLE TITULOS (
COD_TITULO INTEGER NOT NULL,
NOME_NOTA VARCHAR(80) NOT NULL,
NOME_CAPA VARCHAR(80) NOT NULL,
COD_BARRA VARCHAR(13)
);

ALTER TABLE TITULOS ADD CONSTRAINT PK_TITULOS PRIMARY KEY (COD_TITULO);

No evento afterpost uso
QTitulos.ApplyUpdates;

O que estou fazendo de errado? :oops:


Luis.wolff

Luis.wolff

Responder

Posts

22/11/2004

Gandalf.nho

Experimente usar o IBDataPump que é muito simples de usar e é gratuito [url]http://www.clevercomponents.com[/url]


Responder

23/11/2004

Luis.wolff

Valeu a dica, mas como estou aprendendo a lidar com este tipo de banco de dados, gostaria assim mesmo de saber que erro estou cometendo e não repetí-lo no futuro. :)


Responder

23/11/2004

Gandalf.nho

A tabela de origem no Paradox tem o campo chave? Se tiver, experimente usar os valores dele na cópia. Outra sugestão: experimente usar o generator em OnNewRecord ao invés de OnPost.

Além disso, pq o ApplyUpdates no final? Você está usando CachedUpdates?


Responder

23/11/2004

Afarias

1) tire o QTitulos.ApplyUpdates; (use CachedUpdates=False)
2) atualize seu IBX
3) verifique novamente s a propriedade GeneratorField está configurada corretamente



T+


Responder

23/11/2004

Luis.wolff

Descobri! No Dataset editor eu não selecionava o campo COD_TITULO na coluna Update Fields. :oops:

Mas obrigado por tudo. Uma última dúvida: qual a diferença entre eu escolher onNewRecord ou OnPost no GeneratorField :?:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar