Fórum Criando campo auto-incremento utilizando Generator no Firebi #319124
13/04/2006
0
Fiz o exemplo de uma video-aula da clube delphi, mas não esta dando certo, da erro ´Field value requerid´, não consigo nem trocar de registro no grid, mas no exemplo do Everson funciona blz
alguem sabe o q pode estar errado.
francisco Nussbaum
Nussbaum
Curtir tópico
+ 0Posts
13/04/2006
Ariovaldo
- Você deve ter criado o Generator Correto!
- Também deve ter criado a Triger na Tabela que dispara o Generator!
- Acredito que o que deve tar faltando é vc ligar o seu Generator no Seu DataSet ( Propriedade Generator Fields.
Gostei + 0
13/04/2006
Nussbaum
Bom vc poderia me explicar um pouco sobre a Propriedade Generator Fields que vc citou?
Esta em qual componente?
SQLDataSet ou ClientDataSet?
faz diferença estou usando o Delphi 2005. no caso não achei esta propriedade, tenho que fazer atravez de linha de codigo.
Agradeço a ajuda, sou um pobre universitario que tem Java como base na facul e estou começando em uma empresa em delphi
Gostei + 0
13/04/2006
Titanius
O GeneratorField, se não me engano tem somente no IBX, no ClientDataSet ou no DBX não tem esta opção... o que você pode fazer para pegar o Valor do generator e incrementar ele, eh isso:
select gen_id(NOME_GENERATOR, INC)
Onde:
NOME_GENERATOR = Nome do seu Generator
INC = Valor integer para incrementar o generator em questao.
Espero ter ajudado
[]s
Gostei + 0
13/04/2006
Nussbaum
Bom fiz assim no banco de dados, usando IBExpert
/////////
CREATE table CLIENTES (CODIGO integer NOT null PRIMARY key,
NOME VARCHAR(25) NOT null,
FONE VARCHAR(18));
CREATE GENERATOR GEN_CLIENTES;
CREATE trigger TRG_CLIENTES_INS
FOR CLIENTES before insert position 0
as
begin
if (NEW.CODIGO IS NULL) then
NEW.CODIGO = gen_id(GEN_CLIENTES, 1);
end
/////////
como utilizo pelo dbexpress com os componentes de acesso?
Gostei + 0
13/04/2006
Titanius
Pra rodar no DBX, vc precisa desta vinculacao
SQLConnection -> SQLDataset -> DataSetProvider > ClientDataSet -> DataSource
na respectiva ordem...
[]s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)