I have done a test with my original tables and Unidac 6.3.13 vs 6.4.14.
Code: Select all
TForm1 = class(TForm)
UniConnection1: TUniConnection;
UniQuery1: TUniQuery;
UniQuery2: TUniQuery;
coButton1: TcoButton;
procedure coButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure TForm1.coButton1Click(Sender: TObject);
var lRowsInserted, lRowsAffected: integer;
begin
UniQuery1.SQL.Text := 'delete from PET_PRUEBA where IDPETICIONPRUEBA = 9000000000 ';
UniQuery1.Execute;
UniQuery1.Close;
UniQuery1.SQL.Text := 'INSERT INTO PET_PRUEBA (IDPETICIONPRUEBA, IDPETICION, NPRUEBA, FECHA, IDPRUEBA, IDPRUEBA_LISTA, IDPRUEBA_PERFIL, IDPACIENTE, TIPO, ' +
'NIVEL, PREFIJO, NRESULTADO, RESULTADO, TRESULTADO, FECHA_RESULTADO, IDTIPORESULTADO, ' +
'IDVALIDACION, FECHA_VALIDACION, IDUSUARIO_VALIDA, PATOLOGIA, COMENTARIO, DELTA_CHECK, ' +
'MARGEN_ULTIMO, IDEQUIPO, IDCENTROPROCESO, IDPRUEBAREF, ORDEN_IMPRESION, FECHA_INFORME, ' +
'IDUSUARIO_RESULTADO, FECHA_ALTA, NREPETICION, IDPRUEBAMU, FECHA_PROCESO, NPRUEBA_LISTA, ' +
'NLISTA, REGISTRO_PROCESO, IDESTADORESULTADO, REGISTRO_PROTOCOLO, IDAREA, IDPETICIONMUESTRA, ' +
'IDPRUINTERPRETACION, IMPRIMIR, IDPETICION_ORIGEN, NPRUEBA_ORIGEN, NDOCUMENTO, IDVALIDACION_TECNICA, ' +
'IDUSUARIO_VALIDACION_TECNICA, FECHA_VALIDACION_TECNICA, IDPRUINTERPRETACIONRES, TRESULTADOE, ' +
'IDINSTRUMENTO, NRESULTADO_CORREGIDO, IDSECCION, IDPETICIONPLATO, FECHA_ENTREGA, PARAMETROS, ' +
'NALARMA, IDMETODO, IDUNIDAD, IDDOCUMENTO, FIRMA_DIGITAL, IDTIPOMUESTRAN, IDESTADOEXPORTACION, ' +
'IDTUBO, FIRMA_DIGITAL_FECHA ) ' +
'VALUES (9000000000, 16390, 2, TO_TIMESTAMP(''04/26/2016 00:00:00.000'', ''MM/DD/YYYY HH24:MI:SS.FF3''), ' +
'10001, 11483, NULL, 8455, ''N'', 1, NULL, 67.4, ''067,4'', NULL, TO_TIMESTAMP(''04/25/2016 17:05:00.000'', ''MM/DD/YYYY HH24:MI:SS.FF3''), ' +
'1, 4, TO_TIMESTAMP(''05/20/2016 11:56:05.000'', ''MM/DD/YYYY HH24:MI:SS.FF3''), ' +
'0, 0, NULL, 0, 0, 26, 0, 10, 1200104, NULL, -2, ' +
'TO_TIMESTAMP(''04/26/2016 09:57:31.000'', ''MM/DD/YYYY HH24:MI:SS.FF3''), ' +
'1, 282, NULL, NULL, 0, 0, 10, 0, 10, NULL, NULL, 1, NULL, NULL, 0, 0, NULL, ' +
'NULL, NULL, NULL, 26, NULL, 110, NULL, ' +
'TO_TIMESTAMP(''04/27/2016 09:57:59.000'', ''MM/DD/YYYY HH24:MI:SS.FF3''), 0, 0, 0, 5, ' +
'NULL, NULL, 20, NULL, 33, NULL) ';
UniQuery1.Execute;
Uniquery1.Close;
UniQuery1.SQL.Text := 'select * from PET_PRUEBA where IDPETICIONPRUEBA = 9000000000 ';
UniQuery1.Execute;
lRowsInserted := UniQuery1.RecordCount;
UniQuery1.Close;
UniQuery2.SQL.Text := 'insert into Pet_Prueba_resultado_Registro( IDPETICIONPRUEBA, TIPO, IDTIPORESULTADO, FECHA_RESULTADO, IDUSUARIO_RESULTADO, ' +
'PREFIJO, NRESULTADO, RESULTADO, TRESULTADO, ' +
'FECHA_VALIDACION, IDUSUARIO_VALIDA, IDVALIDACION, ' +
'IDESTADORESULTADO, IDINSTRUMENTO, FECHA_INFORME, FIRMA_DIGITAL, FECHA_PROCESO, FIRMA_DIGITAL_FECHA, ' +
'COMENTARIO, IDUSUARIO, FECHA ) ' +
'select IDPETICIONPRUEBA, TIPO, IDTIPORESULTADO, FECHA_RESULTADO, IDUSUARIO_RESULTADO, ' +
'PREFIJO, NRESULTADO, RESULTADO, TRESULTADO, ' +
'FECHA_VALIDACION, IDUSUARIO_VALIDA, IDVALIDACION, ' +
'IDESTADORESULTADO, IDINSTRUMENTO, FECHA_INFORME, FIRMA_DIGITAL, FECHA_PROCESO, FIRMA_DIGITAL_FECHA, ' +
':COMENTARIO, :IDUSUARIO, :FECHA ' +
'from Pet_Prueba pp ' +
'where pp.IDPETICIONPRUEBA = :IDPETICIONPRUEBA';
UniQuery2.ParamByName('FECHA').Value := Now;
UniQuery2.ParamByName('IDUSUARIO').Value := 245;
UniQuery2.ParamByName('COMENTARIO').Value := '';
UniQuery2.ParamByName('IDPETICIONPRUEBA').Value := 9000000000;
UniQuery2.Execute;
lRowsAffected := UniQuery2.RowsAffected;
coButton1.Caption := Format( 'Executes rows inserted %d affected %d ', [lRowsInserted, lRowsAffected ] );
end;