Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error ADOStoredProc (https://www.clubdelphi.com/foros/showthread.php?t=69965)

subzero 21-09-2010 23:49:21

Error ADOStoredProc
 
Hola.

Tengo un procedimiento alamcenado en sql server 2005 que inserta datos en una tabla, consta de 2 campos fecha definidos como "DateTime", cuando trato de ejecutar el procedimiento almacenado desde delphi utilizando el componente TADOStoredProc ya teniendo todos los parametros agregados y configurados como se definen en el procedimiento almacernado me presenta el siguiente error:

Error converting data type varchar to datetime

Este esl código de asignación:

Código Delphi [-]
P_Documentos.Parameters.ParamByName('@fecha').Value    := FormatDateTime('yyyy-mm-dd',Date());

También he intentado esto.

Código Delphi [-]
SP_Documentos.Parameters.ParamByName('@fecha').Value          := DateToStr(Date())


He realizado cambios en el parametro del componente, lo colocado como string o date y continua mostandome el mismo error....


Qué creen estoy haciendo mal?


Saludos!

subzero 22-09-2010 01:16:47

Hola nuevamente.

He resuelto el inconveniente a través del siguiente código pero me queda aun la duda de lo anterior:

Código Delphi [-]
function Tmiclase.ejecuta_sp(ADOSP : TADOStoredProc;
SP : String; datos : Array of String; Exec : boolean = true; campo_devolver : string = ''): string;
var line, Y : string;  x : byte;
begin
  with ADOSP do
  begin
    Close;
    ProcedureName := SP;
    Parameters.Refresh;
    for x := 1 to Parameters.Count-1 do
     if (Parameters.Items[x].Direction = pdInput) then
     begin
       if(datos[x-1] = 'null')then
        Parameters.Items[x].Value := Null
       else
        Parameters.Items[x].Value := datos[x-1];
     end
     else
      Parameters.Items[x].Value := '0';
    if Exec then ExecProc else Active := true;
    if campo_devolver <> '' then
     result := Parameters.ParamByName(campo_devolver).Value;
  end;
end;

Saludos.


La franja horaria es GMT +2. Ahora son las 03:14:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi