Ver Mensaje Individual
  #9  
Antiguo 14-05-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Reputación: 12
giulichajari Va por buen camino
Código Delphi [-]
procedure TServerMethods1.nuevoticket(numero,ids,idcliente:integer;importe,efectivo,vueltoouble;fechae,horae  ,tipo:string);
var
tr:TDBXTransaction;
begin
       if (SUCURSAL.InTransaction) then
     raise Exception.Create('Hay una transacción pendiente');
     SUCURSAL.Open;
       try
          try
            tr:=SUCURSAL.BeginTransaction();

               begin
                with qticket do
                  begin
                    Close;


                    ParamByName('numero').AsInteger:=numero;
                    ParamByName('importe').AsFloat:=importe;
                    ParamByName('fechae').AsString:=fechae;
                    ParamByName('horae').AsString:=horae;
                    ParamByName('idsucursal').AsInteger:=ids;

                    ParamByName('idcliente').AsInteger:=idcliente;
                    ParamByName('tipo').AsString:=tipo;
                    ParamByName('efectivo').AsFloat:=efectivo;
                    ParamByName('vuelto').AsFloat:=vuelto;
                    ExecSQL();
                  end;

         SUCURSAL.CommitFreeAndNil(tr);
               end;

      except
        SUCURSAL.RollbackFreeAndNil(tr);
        end;
      finally
      SUCURSAL.Close;
       end;
end;

procedure TServerMethods1.nuevodetalleticket(idp:integer;cantidad,preciououble);
  var
  tr:TDBXTransaction;
  begin
      if (SUCURSAL.InTransaction) then
     raise Exception.Create('Hay una transacción pendiente');
     SUCURSAL.Open;
       try
          try
            tr:=SUCURSAL.BeginTransaction();
               quticket.Close;
               begin
                with qventa do
                  begin
                    Close;


                 //    ShowMessage(IntToStr(quticket.ExecSQL()));
                    ParamByName('idt').AsInteger:=quticket.ExecSQL();
                    ParamByName('idp').AsInteger:=idp;
                    ParamByName('cantidad').AsFloat:=cantidad;
                    ParamByName('preciou').AsFloat:=preciou;
                    ExecSQL();
                  end;

         SUCURSAL.CommitFreeAndNil(tr);
               end;

      except
        SUCURSAL.RollbackFreeAndNil(tr);
        end;
      finally
      SUCURSAL.Close;
       end;
end;

eso es en DataSnap

y dentro de quticket tengo last_insert_id(), como veras hice un showmessage... y veo un 1..
Responder Con Cita