Fórum Generator não gera ID #452577
20/08/2013
0
Estou montando um sistema em Delphi com BD Firebird. Usando o IBExpert para montar as tabelas, criei a tabela, o generator, a trigger e o procedure, tudo listado pelo IBExpert. No formulário fiz a conexão e deu tudo ok. Fiz os teste de ler os registros da tabela e deu tudo ok. Mas na hora de inserir um novo registro, ele não gera o ID e nem mostra no campo referente ao ID do formulário e com isso na hora de postar da erro porque o valor está nulo.
Alguém pode me ajudar por favor com uma luz para resolver isso?
Agradeço a ajuda que aparecer.
Carlos Magno
Curtir tópico
+ 0Posts
20/08/2013
Rafael Brendolan
Lembre de colocar o campo ID como AutoInc e Required = False.
Gostei + 0
20/08/2013
Carlos Magno
Estou usando um IBDataSet.....e sim, coloquei o campo ID como AutoInc.....agora, como coloco o Required como False?
Gostei + 0
20/08/2013
Rafael Brendolan
Gostei + 0
20/08/2013
Carlos Magno
Como eu faria então para que, quando eu clicasse no botão insert para iniciar um novo registro, o novo ID aparecesse no campo ID do formulário?
Gostei + 0
20/08/2013
Deivison Melo
No final das contas irá ser praticamente a mesma coisa....
function GeneratorID (aName: string; Connection: TSQLConnection; Incrementa: Boolean): integer;
function GeneratorID (aName: string; Connection: TSQLConnection;
Incrementa: Boolean): integer;
var
Qry: TSQLQuery;
begin
Qry := TSQLQuery.Create(nil);
try
Qry.SQLConnection := Connection;
if Incrementa then
Qry.SQL.Add(
'SELECT GEN_ID('+aName+', 1) FROM RDB$DATABASE')
else
Qry.SQL.Add(
'SELECT GEN_ID('+aName+', 0) FROM RDB$DATABASE');
Qry.Open;
Result := Qry.Fields[0].AsInteger;
finally
FreeAndNil(Qry);
end;
end;
O retorno vc salva em um campo (Edit ou dbedit) e até mesmo em um label...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)