Começando com INTERBASE

Delphi

29/05/2003

COMECEI A FAZER MINHA APLICAÇÃO EM INTERBASE E TENHO POUCA EXPERIÊNCIA COM ESTE BANCO DE DADOS...
BOM ESTOU TENDO DIFICULDADE NA HORA DE INSERIR UM REGISTRO.
TENHO UMA TABELA BEM SIMPLES QUE É A TABELA DE PROFESSORES
E QUE TEM DOIS CAMPOS O COD_PROFESSOR E NOME_PROFESSOR.

CRIEI ESTE SCRIPT PARA O GENERATOR:

-> PRIMEIRO EXECUTEI ESTE
CREATE GENERATOR COD_PROFESSOR;
COMMIT;

-> DEPOIS ESTE
SET TERM !!;
CREATE TRIGGER CHAMA_COD_PROFESSOR FOR PROFESSORES
BEFORE INSERT
POSITION 0 AS
BEGIN
NEW.COD_PROFESSOR = GEN_ID(COD_PROFESSOR, 1);
END

QUANDO INSIRO DIRETO NO CONSOLE GERA O CÓDIGO NORMALMENTE, PORÉM QUANDO VOU INSERIR NA APLICAÇÃO
DANDO UM POST, A APLICAÇÃO ME DÁ O SEGUINTE ERRO: Field ´COD_PROFESSOR´ must have a value.

GOSTARIA DE SABER O QUE PODE ESTAR OCASIOANDO ISTO, ESTOU USANDO O DIALETO 3

Obrigado desde já


Fabio Colli

Fabio Colli

Curtidas 0

Respostas

Carlo Vinícius

Carlo Vinícius

29/05/2003

O problema é que o Delphi, ao identificar o campo como PK, define a propriedade ´Required´ dele como TRUE.

Para solucionar o problema, dê um clique-duplo no objeto QUERY e, na janela que surgir, clique com o botão direito do mouse. No menu selecione ´Add All Fields´.

Feito isso, selecione o campo do código e, no Object Inspector (F11) mude o REQUIRED para FALSE.

Resolvido! :wink:

Espero ter ajudado!


GOSTEI 0
Fabio Colli

Fabio Colli

29/05/2003

Obrigado eu ainda vou testar hoje à noite.


GOSTEI 0
POSTAR