Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Conexión con bases de datos
Register FAQ Members List Calendar Guía de estilo Today's Posts

Conexión con bases de datos

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 06/02/2007
efelix efelix is offline
Miembro
 
Join Date: Jul 2006
Posts: 84
Poder: 21
efelix Va por buen camino
Parámetros de un procedimiento almacenado

Hola a todos, después de agotar todas las posibilidades acudo a ustedes una vez mas para que me ayuden. tengo el siguiente problema, tengo un procedimiento almacenado en sql server 2000:
Código SQL [-]
CREATE PROCEDURE spAntiguedad
                            (@Proveedor int,    
                             @Proveedor1 int,                         
                             @Fecha1 datetime,
                             @Fecha2 datetime) 
AS
SELECT     Proveedores.IdProveedor, Proveedores.NombreProveedor, Facturas.IdFactura, Facturas.Descripcion, Facturas.Importe, Facturas.FechaRecepcion, DATEDIFF(day, FechaRecepcion, GETDATE()) AS Saldo, 
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 0  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 31 THEN Facturas.Importe END MENOSDE30dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE ()) > 30  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 61 THEN Facturas.Importe  ELSE 0 END ENTRE3060dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 60  AND  DATEDIFF(day, FechaRecepcion, GETDATE()) < 91 THEN Facturas.Importe ELSE 0 END ENTRE6090dias,
                    CASE
                        WHEN DATEDIFF(day, FechaRecepcion, GETDATE()) > 91 THEN Facturas.Importe ELSE 0 END MASDE90dias 
FROM         Proveedores INNER JOIN Facturas ON Proveedores.IdProveedor=Facturas.IdProveedor
WHERE     (Aplicada = 0 AND Proveedores.IdProveedor>=@Proveedor AND Proveedores.IdProveedor<=@Proveedor1 AND Facturas.FechaRecepcion>=@Fecha1 AND Facturas.FechaRecepcion<=@Fecha2)
GO
Este procedimiento lo utilizo en un reporte en delphi 7. En tiempo de diseño le establezco el valor a todos los parámetros a través de la propiedad parameters. Como podrán apreciar son cuatro parámetros. Reitero que los valores de los parámetros están establecidos, esto lo he chequeado hasta la saciedad. El caso es que cuando ejecuto la aplicación, la cual le falta muy poco para terminarla, antes que salga el formulario princiapal que contiene el menu principal, me pone el siguiente error:
Nombre del proyecto raised exception class EOleException with message Procedure 'Nombre del procedimiento almacenado' expects parameters '@Proveedor1', which was not supplied. Esto no lo entiendo, no me refiero al mensaje, se que quiere decir que espera el valor del parámetro el cual no ha sido suministrado, me refiero a que he chequeado que sí le paso el valor del parámetro. Este procedimiento no da ningún error cuando lo ejecuto con el Query Analyzer, funciona perfectamente. Ojala puedan ayudarme. Muchas gracias. Para que le sirva mas de ayuda tengo un fomulario donde le paso el valor de los parámetros al procedimiento almacenado, pero es que no llega ni ahí. El código del botón aceptar de este formulario es el siguiente:
Código Delphi [-]
begin
 QrAntiguedad.ADOSPAntiguedad.Close;
 if CheckBox1.Checked then
 begin
    QrAntiguedad.ADOSPAntiguedad.Parameters.ParamByName('@Proveedor').Value := 0;
    QrAntiguedad.ADOSPAntiguedad.Parameters.ParamByName('@Proveedor1').Value := 5000000;
 end
 else
 begin
    QrAntiguedad.ADOSPAntiguedad.Parameters.ParamByName('@Proveedor').Value := StrToInt(Edit1.Text);
    QrAntiguedad.ADOSPAntiguedad.Parameters.ParamByName('@Proveedor1').Value := StrToInt(Edit2.Text);
    QrAntiguedad.ADOSPAntiguedad.Parameters.ParamByName('@Fecha1').Value := Trunc(DTP1.DateTime);
    QrAntiguedad.ADOSPAntiguedad.Parameters.ParamByName('@Fecha2').Value := Trunc(DTP2.DateTime);
 end;
 QrAntiguedad.ADOSPAntiguedad.Open;
 QrAntiguedad.QRLabel12.Caption := DateToStr(DTP1.DateTime);
 QrAntiguedad.QRLabel14.Caption := DateToStr(DTP2.DateTime);
 QrAntiguedad.Preview;
end;
Pero repito que este formulario yo o invoco desde una opción del menu principal que tengo en mi aplicación. El error del que les hablo se genera desde que ejecuto la aplicación.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
procedimiento almacenado kejos MS SQL Server 3 02/09/2008 17:39
Parámetros del procedimiento almacenado efelix MS SQL Server 6 03/11/2006 20:37
Parametros a procedimiento almacenado JulioGO PHP 1 03/09/2004 19:04
procedimiento almacenado haron Firebird e Interbase 2 29/09/2003 01:09
Procedimiento almacenado - BDE Ricardo Alfredo Conexión con bases de datos 1 16/06/2003 21:31


All times are GMT +2. The time now is 05:30.


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