Ver Mensaje Individual
  #1  
Antiguo 28-10-2010
r1d2m3 r1d2m3 is offline
Miembro
 
Registrado: nov 2009
Posts: 88
Reputación: 15
r1d2m3 Va por buen camino
Procedimientos almacenados y parámetros

Hola colegas, estoy intentando desarrollar un procedimiento almacenado en mysql server para luego consumir sus datos desde una aplicación delphi y me encuentro con el siguiente problema, no logro pasarle desde el código, el parámetro que está esperando el proc. almacenado. les muestro un poquito los códigos que estoy usando para ver si pueden ayudarme con este tema.

Código del procedimiento almacenado
Código SQL [-]
DELIMITER //

CREATE DEFINER=`root`@`localhost` PROCEDURE `sproc_listMovCarpe`(varIdCarpe integer)
BEGIN
    SELECT tabtiposmov.DescripMov AS TipMov, 
    tabmaemovimientos.DescripMov AS DescMov, 
    tabmaemovimientos.fecha AS FecMov, 
    tabcaractermov.descCaracter AS CaracterMov
    FROM (tabmaemovimientos LEFT JOIN tabtiposmov ON tabmaemovimientos.tipMov = tabtiposmov.codMovim) 
    LEFT JOIN tabcaractermov ON tabmaemovimientos.caracterMov = tabcaractermov.codCaracter
    WHERE idCarpe = varIdCarpe;
END//

como pueden ver en este código, es muy sencillo, necesito obtener
un listado parametrizado por el número de id de una carpeta que vendrá
informado en el parámetro varIdCarpe

y este es el código que estoy usando en Delphi

Código Delphi [-]

  function SPListMovimCarpe(varConexBD:TADOConnection; varIdCarpe:Integer) : _Recordset;
  var
    consu:_Recordset;
    sproc:TADOCommand;
  begin
    sproc:=TADOCommand.Create(nil);
    sproc.Connection := varConexBD;
    sproc.CommandType:=cmdStoredProc;
    sproc.Parameters.ParamByName('@varIdCarpe').Value:=varIdCarpe;
    sproc.CommandText := 'sproc_listMovCarpe';
    consu :=sproc.Execute;
    Result:=consu;
  end;

cuando debagueo este código, me tira un error que dice:
...Parameter '@varIdCarpe' not found, y no comprendo donde está el problema, ya que como pueden ver, en la definición del sp si estoy definiendo el parámetro, me queda la duda de si me falta declarar el parámetro dentro del objeto sproc:TADOCommand, si es así, no puedo dar con la sintaxis necesaria, veo en la ayuda la siguiente instrucción: Parameters.CreateParameter() para crear un parámetro pero igual me sigue tirando errores.

Por favor, si alguien ya se vió con este problema y lo pudo solucionar, le agradeceré enormemente su ayuda.

Muchas gracias y saldudos a todos.
Responder Con Cita