Código Delphi [-]function Generador( generador: string): integer; begin SQLGenerador.CLose; SQLGenerador.SQL.Clear; SQLGenerador.SQL.Add('select first 1 GEN_ID('+generador+',1) from RDB$DATABASE'); SQLGEnerador.Open ; Result:= SQLGenerador.Fields[0].AsInteger; end;
function Generador( generador: string): integer; begin SQLGenerador.CLose; SQLGenerador.SQL.Clear; SQLGenerador.SQL.Add('select first 1 GEN_ID('+generador+',1) from RDB$DATABASE'); SQLGEnerador.Open ; Result:= SQLGenerador.Fields[0].AsInteger; end;
Código Delphi [-]procedure TDM.CDSClienteBeforePost(DataSet: TDataSet); begin // si es nulo, es registro nuevo, informo pk con generador, usuario y timestamp del alta if Dataset.FieldByName('idCliente').IsNull then begin Dataset.FieldByName('idcliente').AsInteger:= Generador('CLIENTE'); Dataset.FieldByName('USUARIOALTA').AsString:= WUsuario; Dataset.FieldByName('LOGA').AsDateTime:= now; end; ActualizarLog(Dataset); // informo usuario y timestamp de actualizacion end; function TDM.ActualizarLog(Dataset: TDataset): boolean; begin Dataset.FieldByName('USUARIOMODIF').AsString:= WUsuario; Dataset.FieldByName('LOGM').AsDatetime:= now; Result:= True; end;
procedure TDM.CDSClienteBeforePost(DataSet: TDataSet); begin // si es nulo, es registro nuevo, informo pk con generador, usuario y timestamp del alta if Dataset.FieldByName('idCliente').IsNull then begin Dataset.FieldByName('idcliente').AsInteger:= Generador('CLIENTE'); Dataset.FieldByName('USUARIOALTA').AsString:= WUsuario; Dataset.FieldByName('LOGA').AsDateTime:= now; end; ActualizarLog(Dataset); // informo usuario y timestamp de actualizacion end; function TDM.ActualizarLog(Dataset: TDataset): boolean; begin Dataset.FieldByName('USUARIOMODIF').AsString:= WUsuario; Dataset.FieldByName('LOGM').AsDatetime:= now; Result:= True; end;