Ver Mensaje Individual
  #9  
Antiguo 28-06-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Reputación: 12
giulichajari Va por buen camino
Logre hacerlo

Logre hacerlo con componentes SQLQuery. Si quieren dejen su opinion.

Código Delphi [-]
procedure Tferreteria.insercliente(cliente:Tcliente;persona:Tpersona;telefono:Ttelefono);



begin
  dm := Tconsultas.Create(nil);
   // dm.SQLQuery1.Close;
    with dm.qpersona do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into persona (nombreyape, domicilio) values (:nombreyape, :domicilio);');

      ParamByName('nombreyape').AsString := persona.nombreyape;
      ParamByName('domicilio').AsString := persona.domicilio;


      ExecSQL();
    end;

      with dm.qcliente do
    begin
    Close;
    SQL.Clear;
    SQL.Add('insert into clientes (idpersona, cuit, cuil) values (last_insert_id(), :cuit, :cuil);');

    ParamByName('cuit').AsInteger := cliente.cuit;
    ParamByName('cuil').AsInteger := cliente.cuil;
      ExecSQL();
    end;
    with dm.qtelefono do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into telefono (idtipotel, numero)values (:idtipotel,:numero);');
      ParamByName('idtipotel').AsInteger := telefono.tipo;
      ParamByName('numero').AsInteger := telefono.numero;
      ExecSQL();
    end;
    with dm.aux do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select last_insert_id() from persona;');

    end;
    with dm.aux2 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select last_insert_id() from telefono;');
    end;
    with dm.qpt do
    begin
      Close;
      SQL.Clear;
      SQL.Add('insert into personatel (idpersona,idtelefono) values (:idp,:idt);');
      ParamByName('idp').AsInteger:=dm.aux.ExecSQL();
      ParamByName('idt').AsInteger:=dm.aux2.ExecSQL();
      ExecSQL();
    end;

//    dm.SQLQuery1.ExecSQL();
  end;
Responder Con Cita