Auto incremento utilizando interbase 6.5
Por favor qual a maneira mais facil de criar um campo autoincremento utilizando o interbase 6.5. Se possivel passo a passo, pois estou começando agora a utiliza-lo. Obrigado!
Cláudiogyn
Curtidas 0
Respostas
Anorex
02/02/2004
utilize generators junto com triggers.... é o meu método preferido...
GOSTEI 0
Cláudiogyn
02/02/2004
Pode me dizer passo a passo como faço isso. Obrigado
GOSTEI 0
Eduardo Pereira
02/02/2004
No site www.firebase.com.br tem um artigo chamado ´Recuperando o valor de um Generator através de Stored Procedures´, que pode lhe ser útil. Observe que a abordagem utilizada é diferente da proposta pelo Anorex, que usa trigger.
GOSTEI 0
Afarias
02/02/2004
Vc provavelmente vai se enrrolar usando esse método das TRIGGERS e provavelmente não terá o resultado esperado.
(Faça uma consulta nos postes deste fórum sobre generators e vc verá muito sobre o assunto)
Se vc usa IBX, apenas configure a propriedade GeneratorField dos componentes IBQuery ou IBDataSet
outra forma de gerar números sequenciais na aplicação cliente é usando um código como::
T+
(Faça uma consulta nos postes deste fórum sobre generators e vc verá muito sobre o assunto)
Se vc usa IBX, apenas configure a propriedade GeneratorField dos componentes IBQuery ou IBDataSet
outra forma de gerar números sequenciais na aplicação cliente é usando um código como::
function GerarNovoCodigo(NomeGenerator: string): Integer; const ComandoSQL = ´select gen_id(¬s, 1) from rdb$database´; begin with IBSQL1 do begin Transaction.StartTransaction; try SQL.Text := Format(ComandoSQL, [NomeGenerator]); ExecQuery; Result := Fields[0].AsInteger; finally Transaction.Commit; end; end;
T+
GOSTEI 0
Cláudiogyn
02/02/2004
Agora quando vou setar o generator field ele da a seguinte mensagem empty sql statement. O que fazer????
GOSTEI 0
Afarias
02/02/2004
|O que fazer????
Preencher corretamente a propriedade SQL (ou SelectSQL)
T+
Preencher corretamente a propriedade SQL (ou SelectSQL)
T+
GOSTEI 0
Cláudiogyn
02/02/2004
agora configurei ai ficou assim o dbnavigator ele so aparece a seta > >> enable o resto fica desativado e não tem como inserir um novo registro o que fazer? Outra duvida eu utilizo o dataset e o ibtable ou só o datasete. Como o ibtable foi tudo ok mas eu gostaria de criar o campo autoincremento e a opção generator field so tem no dataset mas no data set está acontecendo este problema como resolver???
GOSTEI 0
Afarias
02/02/2004
|agora configurei ai ficou assim o dbnavigator ele so aparece a seta > >>
|enable o resto fica desativado e não tem como inserir um novo registro
O q tem a ver uma coisa com a outra??
|o que fazer?
Leia uma apostila básica sobre programação com IBX -- se vc ler o tópico no topo deste fórum (exemplo básico com IBX) já é uma bom começo
|Outra duvida eu utilizo o dataset e o ibtable ou só o datasete.
Nunca use IBTable. Só IBQuery ou IBDataSet (como DataSet)
|Como o ibtable foi tudo ok mas eu gostaria de criar o campo
|autoincremento e a opção generator field so tem no dataset mas no data
|set está acontecendo este problema como resolver???
Leia o tópico ´exemplo básico com IBX´ ok??
T+
|enable o resto fica desativado e não tem como inserir um novo registro
O q tem a ver uma coisa com a outra??
|o que fazer?
Leia uma apostila básica sobre programação com IBX -- se vc ler o tópico no topo deste fórum (exemplo básico com IBX) já é uma bom começo
|Outra duvida eu utilizo o dataset e o ibtable ou só o datasete.
Nunca use IBTable. Só IBQuery ou IBDataSet (como DataSet)
|Como o ibtable foi tudo ok mas eu gostaria de criar o campo
|autoincremento e a opção generator field so tem no dataset mas no data
|set está acontecendo este problema como resolver???
Leia o tópico ´exemplo básico com IBX´ ok??
T+
GOSTEI 0