Ver Mensaje Individual
  #1  
Antiguo 28-10-2015
omarperez.qui omarperez.qui is offline
Miembro
 
Registrado: ago 2006
Posts: 26
Reputación: 0
omarperez.qui Va por buen camino
MYDAC Error en Parametros

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
Código 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
Código SQL [-]
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

Última edición por roman fecha: 29-10-2015 a las 18:57:18. Razón: Agregar etiquetas de código
Responder Con Cita