tengo un problema con tipo de datos entre navision y mysql
os pongo el código, es navision con mysql.si en lugar de con.execute,
lo hago con addnew tampoco me funciona, gracias
las query son:
Name ConstValue
Query01 SELECT TPR_CODART FROM TARIFA_PROD WHERE TPR_CODART='%1' AND
TPR_CODTRF='%2' AND TPR_FECINI='%3'
Query02 SELECT ART_CODIGO FROM ARTICULO WHERE ART_CODIGO='%1'
Query03 INSERT INTO TARIFA_PROD (TPR_CODART, TPR_CODTRF, TPR_FECINI,
TPR_PRECIO) VALUES ('%1','%2','%3',%4)
Query04 SELECT USR_CODVND FROM USUARIO WHERE USR_ESTADO='1'
Query05 INSERT INTO AEXPORTAR (COM_SENTEN, COM_NUMVEN, COM_FECHOR)
VALUES('%1','%2','%3')
RecTarifaNavision.RESET;
numrecords:=RecTarifaNavision.COUNT;
contador:=0;
IF RecTarifaNavision.FIND ('-') THEN
REPEAT
fecha:=FORMAT (RecTarifaNavision."Fecha
inicial",0,'<year4>-<month, 2>-<day, 2>');
CLEAR (Tarifas_rs);
CREATE(Tarifas_rs);
Tarifas_rs.Open (STRSUBSTNO (Query01,RecTarifaNavision."Nº
producto",RecTarifaNavision."Cód. tarifa",fecha),Conn);
IF Tarifas_rs.EOF ()
THEN BEGIN
CLEAR (Articulo_rs);
CREATE (Articulo_rs);
precio:=FORMAT(RecTarifaNavision."Precio venta");
precio:=CONVERTSTR(precio,',','.');
Articulo_rs.Open (STRSUBSTNO
(Query02,RecTarifaNavision."Nº producto"),Conn);
IF NOT Articulo_rs.EOF () THEN
BEGIN
//Conn.Execute (STRSUBSTNO
(Query03,RecTarifaNavision."Nº producto",RecTarifaNavision."Cód.
tarifa",fecha,precio)
//,Conn);
Articulo_rs.AddNew();
Articulo_rs.Fields.Item('TPR_CODART').Value(RecTarifaNavision."Nº
producto");
Articulo_rs.Fields.Item('TPR_CODTRF').Value(RecTarifaNavision."Cód.
tarifa");
Articulo_rs.Fields.Item('TPR_FECINI').Value(RecTarifaNavision."Fecha
inicial");
Articulo_rs.Fields.Item('TPR_PRECIO').Value(RecTarifaNavision."Precio
venta");
Articulo_rs.Update();
exportar_sentencia(Query03);
CLEAR (Comercial_rs);
CREATE (Comercial_rs);
Comercial_rs.Open (Query04,Conn);
WHILE NOT Comercial_rs.EOF() DO
BEGIN
Comercial_rs.MoveFirst();
codvendedor:=Comercial_rs.Fields.Item
('USR_CODVND').Value ;
//Conn.Execute (STRSUBSTNO
(Query05,Query03,codvendedor,fecha),Conn);
Comercial_rs.MoveNext ();
Comercial_rs.Close ();
CLEAR (Comercial_rs);
END;
Articulo_rs.Close ();
CLEAR (Articulo_rs);
END;
//Usuario_rs.Close ();
// CLEAR (Usuario_rs);
END;
progreso.UPDATE(1,RecTarifaNavision."Cód. tarifa");
contador+=1;
progreso.UPDATE (2, ROUND ((contador /numrecords ) * 10000, 1));
UNTIL RecTarifaNavision.NEXT=0;
Tarifas_rs.Close ();
CLEAR (Tarifas_rs);
Leer las respuestas