Começando com INTERBASE
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á
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
Curtidas 0
Respostas
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!
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
29/05/2003
Obrigado eu ainda vou testar hoje à noite.
GOSTEI 0