Tengo un datamodule con 3 sqlquery (sqlquery1, sqlquery2, y aux).
Y en la bd tengo una tabla persona y una tabla cliente. En la tabla cliente tengo el idpersona, pero algo falla al querer agregar un cliente, mne agrega los datos de la tabla madre solamente.
Los procedimientos son:
Código Delphi
[-]procedure Tferreteria.inserpersona(persona:Tpersona);
begin
dm:=Tconsultas.Create(nil);
dm.SQLQuery1.Close;
dm.SQLQuery1.SQL.Add('insert into persona (nombreyape, domicilio)values (:nombreyape,:domicilio);');
with dm.SQLQuery1 do
begin
ParamByName('nombreyape').AsString:=persona.nombreyape;
ParamByName('domicilio').AsString:=persona.domicilio;
end;
dm.SQLQuery1.ExecSQL();
dm.SQLQuery1.Close;
end;
Código Delphi
[-]procedure TFerreteria.insercliente(cliente:Tcliente);
begin
dm:=Tconsultas.Create(nil);
dm.SQLQuery2.Close;
dm.SQLQuery2.SQL.Add ('insert into clientes(idpersona,cuit,cuil) values (:idpersona,:cuit,:cuil);');
with dm.SQLQuery2 do
begin
dm.aux.SQL.Add('select max(idpersona) from persona as idp;');
dm.aux.ExecSQL();
ParamByName('idpersona').Value:=dm.aux.ParamByName('idp').AsInteger;
ParamByName('cuit').Value:=cliente.cuit;
ParamByName('cuil').Value:=cliente.cuil;
end;
dm.SQLQuery2.ExecSQL();
dm.SQLQuery2.Close;
end;
Espero alguien pueda ayudarme, los sqlquery tienen los parametros en la propiedad TParams.. agregados.
Gracias