PDA

Ver la Versión Completa : MYDAC Error en Parametros


omarperez.qui
28-10-2015, 19:39:30
Buenas, estoy usando Mydac con XE7, cuando uso un componente TMyStyoreProc me corre el orden de los parametros y da error, use el TMySQLMonitor para ver cual es el problema y me encuentro con el siguiente resultado...

Fuente Delphi

with dm2.PUpdateSynRegistro do
try
ParamByName('PModo').value := 'U';
ParamByName('pcodigo_Sucursal').Value := vSyncCodSuc_Origen;
ParamByName('pTabla').value := vSyncTabla;
ParamByName('pSnap').value := vSyncSnapActual;
ParamByName('pSyncroInicio').Value:=vSyncSnapActual;
ParamByName('pSyncroFin').Value:= Now;
ParamByName('pDestino_CodSucursal').Value := vSyncCodSuc_destino;
if sError='' then sError:='OK';
ParamByName('pResultado').Value:= sError;
ParamByName('pArchivo').value := vSyncArchivo;
ParamByName('pid').Value:= vIdRegistro;
ExecProc;
except
on E: Exception do GuardoExcepcion('Error Actualizando Registro '+vSyncTabla+' '+E.Message);
end;


MySqlMonitor

SET @pid = : pid;
CALL Update_SyncroRegistro(: pmodo, : pcodigo_sucursal, : ptabla, : psnap, : psyncroInicio, : psyncroFin, : pdestino_codSucursal, : presultado, : parchivo, @pid);
SELECT CAST(@pid AS SIGNED) AS '@pid'
: pmodo(String[1],IN)='U'
: pcodigo_sucursal(SmallInt,IN)=1
: ptabla(String[8],IN)='usuarios'
: psnap(DateTime,IN)=28/10/2015 02:45:44 p.m.
: psyncroInicio(DateTime,IN)=28/10/2015 02:45:44 p.m.
: psyncroFin(DateTime,IN)=28/10/2015 02:52:57 p.m.
: pdestino_codSucursal(SmallInt,IN)=2
: presultado(String[2],IN)='OK'
: parchivo(String[56],IN)='G:/_D7/Best/SyncroWeb/Win32/Debug/Envio/01usuarios02.dat'
: pid(LargeInt,IN/OUT)=21
SET @pid = 'U';
CALL Update_SyncroRegistro(1, 'usuarios', '2015-10-28 14:45:44', '2015-10-28 14:45:44', '2015-10-28 14:52:57', 2, 'OK', 'G:/_D7/Best/SyncroWeb/Win32/Debug/Envio/01usuarios02.dat', 21, @pid);
SELECT CAST(@pid AS SIGNED) AS '@pid'


Error:
#HY000Incorrect integer value: 'usuarios' for column 'pcodigo_sucursal' at row 1



Si observan el primer parametro :Pmodo le paso un valor 'U' y al momento de hacer el Call MYDac se lo asigna a @Pid corriendome todos los parametros un lugar. Aclaro que esto en delphi 7 funciona bien pero no se si es un tema de versiones..


Delphi XE 7
MyDac 8.4.11
MySql 5.1.50

Gracias

Casimiro Notevi
28-10-2015, 19:41:59
Hola, omarperez.qui, por favor, no olvides poner las etiquetas al código para que se pueda leer mejor. Saludos. :)

http://www.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)

omarperez.qui
29-10-2015, 18:26:17
mil disculpas!

Casimiro Notevi
29-10-2015, 18:27:58
Solo recuérdalo para otra vez :)