Fórum Generator com IBClienteDataSet #39302
09/10/2003
0
Tenho uma aplicação que usa IBX, estou utilizando o IBClienteDataSet, 1 DataSetProvider, e IBDataSet.
OBS. Meu IBClienteDataSet esta ligado no DataSource.
Mas minha pergunta é a seguinte, tenho um generator onde é o meu “autoincremento&8221; no campo código da minha tabela, mas não funciona, será que não esta funcionando por causa do ClienteDataSet? Já fiz de tudo, e nada, não há como fazer funcionar.
Em uma outra aplicação que eu uso componentes Table funciona perfeitamente meus generators, o que será que esta acontecendo, alguém poderia me ajudar, por favor.
Agradeço muito.
Fábio
OBS. Meu IBClienteDataSet esta ligado no DataSource.
Mas minha pergunta é a seguinte, tenho um generator onde é o meu “autoincremento&8221; no campo código da minha tabela, mas não funciona, será que não esta funcionando por causa do ClienteDataSet? Já fiz de tudo, e nada, não há como fazer funcionar.
Em uma outra aplicação que eu uso componentes Table funciona perfeitamente meus generators, o que será que esta acontecendo, alguém poderia me ajudar, por favor.
Agradeço muito.
Fábio
Fabio.palm
Curtir tópico
+ 0
Responder
Posts
09/10/2003
Afarias
|Tenho uma aplicação que usa IBX, estou utilizando o IBClienteDataSet, 1
|DataSetProvider, e IBDataSet.
NÃO use IBClientDataSet -- este componente foi descontinuado e não é mais suportado.
Utilize TClientDataSet + DataSetProvider + {seu DataSet}
|Mas minha pergunta é a seguinte, tenho um generator onde é o
|meu “autoincremento” no campo código da minha tabela, mas não
|funciona, será que não esta funcionando por causa do ClienteDataSet?
Onde vc pega o valor do Generator?? Se é na propriedade GeneratorField do IBDataSet -- então está errado -- esta propriedade não deve ser usada numa configuração usando ClientDataSet.
Se é através de uma Trigger no banco de dados... ai depende da trigger -- mas vc nunca verá o código gerado até aplicar as alterações, fechar o CDS e abrí-lo novamente.
Se quer saber do Código Gerado sem ter q fechar/abrir seu CDS use um pequeno procedimento para gerar o código. Um exemplo::
function GetNewID: Integer;
begin
Result := 0;
with IBSQL1 do
try
Transaction.StartTransaction;
SQL.Text := ´SELECT GEN_ID(nome_generator, 1) FROM RDB$DATABASE´;
ExecQuery;
Result := Fields[0].AsInteger;
finally
Transaction.Commit;
end;
end;
T+
|DataSetProvider, e IBDataSet.
NÃO use IBClientDataSet -- este componente foi descontinuado e não é mais suportado.
Utilize TClientDataSet + DataSetProvider + {seu DataSet}
|Mas minha pergunta é a seguinte, tenho um generator onde é o
|meu “autoincremento” no campo código da minha tabela, mas não
|funciona, será que não esta funcionando por causa do ClienteDataSet?
Onde vc pega o valor do Generator?? Se é na propriedade GeneratorField do IBDataSet -- então está errado -- esta propriedade não deve ser usada numa configuração usando ClientDataSet.
Se é através de uma Trigger no banco de dados... ai depende da trigger -- mas vc nunca verá o código gerado até aplicar as alterações, fechar o CDS e abrí-lo novamente.
Se quer saber do Código Gerado sem ter q fechar/abrir seu CDS use um pequeno procedimento para gerar o código. Um exemplo::
function GetNewID: Integer;
begin
Result := 0;
with IBSQL1 do
try
Transaction.StartTransaction;
SQL.Text := ´SELECT GEN_ID(nome_generator, 1) FROM RDB$DATABASE´;
ExecQuery;
Result := Fields[0].AsInteger;
finally
Transaction.Commit;
end;
end;
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)