Fórum delphi não pega codigo automático #418094
05/06/2012
0
Marcelo Augusto
Curtir tópico
+ 0Posts
06/06/2012
William
Gostei + 0
06/06/2012
Gustavo Bretas
Como vc esta usando Generator, tente criar uma função que vc passe como parâmetro o nome do Generator, e nela vc faz o select e retorna o código para o Field!
Gostei + 0
07/06/2012
Marcelo Augusto
Como vc esta usando Generator, tente criar uma função que vc passe como parâmetro o nome do Generator, e nela vc faz o select e retorna o código para o Field!
valeu wllfi e bretas, antes eu usava o oracle mas não achei artigos sobre como implementar o backup para o banco de dados
passei para o firebird por isso, quando ao codigo fiz no delphi mesmo, obrigado.
Gostei + 0
07/06/2012
Marcelo Augusto
Como vc esta usando Generator, tente criar uma função que vc passe como parâmetro o nome do Generator, e nela vc faz o select e retorna o código para o Field!
valeu wllfi e bretas, antes eu usava o oracle mas não achei artigos sobre como implementar o backup para o banco de dados
passei para o firebird por isso, quando ao codigo fiz no delphi mesmo, obrigado.
Mais uma pergunta, antes quando usava o banco oracle o banco era atualizado instantaneamente já com o firebird ele somente atualiza quando do encerramento do programa. existe algo que possa ser feito
o codigo que estou usando segue abaixo:
procedure TF_Funcionario.BitSalvarClick(Sender: TObject);
begin
If length(trim(DbNome.Text)) = 0 then
MessageDlg(Preenchimento obrigatório do campo Nome !!,mtInformation,[mbOK],0);
if length(trim(DbLookUpCepNome.Text)) = 0 then
MessageDlg(Preenchimento obrigatório dos campos do Endereço <click no Botão cadastrar Endereço) !!,mtInformation,[mbOK],0);
if Application.MessageBox(Deseja salvar?,Confirmação,
MB_YesNo) = IDYes then
panelendereco.Visible:=true;
paneldadopessoal.Visible:=true;
begin
if dmdados.DsFuncionario.State in[DsInsert,DsEdit] then
begin
editar;
dmdados.TblFuncionario.Post;
dmdados.tblFuncionario.ApplyUpdates;
Dmdados.tblFuncionario.last;
leitura;
end;
end;
end;
Gostei + 0
07/06/2012
Deivison Melo
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;
Gostei + 0
07/06/2012
Marco Salles
Atualizar o que é dar um Refresh ???
ps) Não é o Firebird , é a tecnologia que vc esta utilizando Dbexpress/ClientdatasSet
Os dados ficam na memória e são aplicados quando vc der o ApplayUpdates
So não entendi porque o last no apos o ApplayUpdates
dmdados.TblFuncionario.Post;
dmdados.tblFuncionario.ApplyUpdates;
Dmdados.tblFuncionario.last; // ???
Gostei + 0
08/06/2012
Marcelo Augusto
Atualizar o que é dar um Refresh ???
ps) Não é o Firebird , é a tecnologia que vc esta utilizando Dbexpress/ClientdatasSet
Os dados ficam na memória e são aplicados quando vc der o ApplayUpdates
So não entendi porque o last no apos o ApplayUpdates
dmdados.TblFuncionario.Post;
dmdados.tblFuncionario.ApplyUpdates;
Dmdados.tblFuncionario.last; // ???
Ha, sim após gravar eu jogo ele para o último registro para mostrar antes usava de outro jeito tbl.close, tbl.open
também costumo usar uma procedimento mostrar, ontem cnsegui fazer gravar na hora usanto após o apply Updates o commando
dmdados.IBTransaction1.CommitRetaining;
na verdade esta tbl.las ficou de um outro prg o qual fazia entradas sequenciais na tabela para juntamente com uma query pegar o ultimo numero select tblreg.las+1;
Pessoal muito obrigado pelas dicas sou novo em prog. e vocês tem me ajudado muito.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)