Fórum como obter o numero da venda gerado pela generator? #413845

08/03/2012

0

como obter o numero da venda gerado pela generator?

Tenho 2 tabelas uma VENDAS e a outra ITENSVEN e um relacionamento entre elas uso este código para gravar em minha tabela vendas

with IBQry_Venda do
begin
Close;
Sql.Clear;
SQL.Text:=select gen_id(GEN_NUMEROVEN, 1) from rdb$databa;
Sql.Text := INSERT INTO VENDAS (+

FUN_CODIGO, +
SIT_CODIGO, +
LOJ_CODIGO, +
CLI_CODIGO, +
USU_CODIGO, +
VEN_TIPO, +
VEN_DATA) +

VALUES ( +

:FUN_CODIGO, +
:SIT_CODIGO, +
:LOJ_CODIGO, +
:CLI_CODIGO, +
:USU_CODIGO, +
:VEN_TIPO, +
:VEN_DATA);

ParamByName(FUN_CODIGO).AsInteger :=StrToInt(Edit_FUN_CODIGO.Text);
ParamByName(SIT_CODIGO).AsInteger :=StrToInt(Edit_SIT_CODIGO.Text);
ParamByName(LOJ_CODIGO).AsInteger :=FRM_Venda_Mais.IBQry_Autorizacao_UsuarioLOJ_CODIGO.Value;
ParamByName(CLI_CODIGO).AsInteger :=StrToInt(Edit_CLI_CODIGO.Text);
ParamByName(USU_CODIGO).AsInteger :=FRM_Venda_Mais.IBQry_Autorizacao_UsuarioUSU_CODIGO.Value;
ParamByName(VEN_TIPO).AsString :=(RGrupo_VEN_TIPO.Value);
ParamByName(VEN_DATA).AsDate :=Date;
ExecSql;
Edit_VEN_NUMERO.Text :=IntToStr(IBQry_VendaVEN_NUMERO.MaxValue);

If Application.MessageBox(Adicinar itens agora?,Aviso, MB_yesno)<> mryes then
Abort
else
FRM_Balcao := TFRM_Balcao.create ( application );
try
FRM_Balcao.ShowModal;
finally
FRM_Balcao.Release;
FRM_Balcao := nil;
FRM_Balcao.Free;
end;
end;
end;

Como faço para obter o numero gerado pela gen_id(GEN_NUMEROVEN, 1) para que eu possa inserir no campo VEN_NUMERO







Fico muito Grato
Jarbas Marinho

Jarbas Marinho

Responder

Posts

08/03/2012

Deivison Melo

Boa noite,

Crie uma função, exemplo:


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;
Responder

Gostei + 0

08/03/2012

Jarbas Marinho

Boa noite,

Crie uma função, exemplo:


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 que é aName
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar