![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() ![]() CREATE PROCEDURE spPendientesPago @FechaRecepcion datetime, @FechaRecepcion1 datetime AS SELECT Facturas.IdFactura, Proveedores.NombreProveedor, Facturas.Descripcion, Facturas.Importe FROM Facturas INNER JOIN Proveedores ON Facturas.IdProveedor = Proveedores.IdProveedor WHERE (Facturas.Aplicada = 0) AND Facturas.FechaRecepcion>=@FechaRecepcion AND Facturas.FechaRecepcion<=@FechaRecepcion1 GO Esto funciona a la perfección en sql server. Hay otro procedimiento almacenado que utilizo para que me de el total de las facturas sin pagar según el rango de fechas, tiene la siguiente sintáxis: CREATE PROCEDURE spImporteTotalporFechas @Fecha datetime, @Fecha1 datetime, @ImporteTotal money OUTPUT AS SELECT @ImporteTotal=SUM(Importe) FROM Facturas WHERE (Aplicada = 0) AND FechaRecepcion>=@Fecha AND FechaRecepcion<=@Fecha1 GO el cual también funciona a la perfección en sql server. Ahora en delphi en el código del evento onclick del botón de comando hago esto: En tiempo de ejecución establexco el rango de fechas le doy al botón y el dbgrid se me llena con las facturas pendientes de pago y en el edit se totaliza el importe total de las facturas sin pagar para el rango de fechas seleccionados. Ahora comienza el problema. En la base de datos en la tabla facturas hay en estos momentos cuatro facturas pendientes de pago, me muestra en el dbgrid solamante tres, y me pone en el edit el importe total de las facturas mostradas según el rango de fechas, me excluye una factura, por ejemplo las fechas de estas facturas son desde el 10/04/2006 hasta 16/04/2006, la factura del del 10/04/2006 no la muestra en el dbgrid y por supuesto el procedimiento almacenado que tiene el parámetro de salida pone nada más el importe total de las mostradas en el dbgrid. Repito esto funciona perfectamente bien en sql server 2000, es decir los procedimientos almacenados los he probado y están bien. Otra curiosidad en tiempo de diseño situo un dbgrid le pongo directamente el valor a los parámetros, es decir el rango de fechas y funciona el dbgrid muestra las cuatro facturas pendientes de pago, pero ne tiempo de ejecución no. Además cuando en tiempo de ejecución las dos fechas las pongo iguales me da el siguiente error 'exception in class EVariantTypeCastError with message could no convert variant of type (null) into type (string)', el cursor se detiene en la parte del código donde le asigno a la propiedad text del edit el parámetro de salida del segundo procedimiento almacenado. No se ya que hacer. Espero me puedan ayudar, acepto cualquier sugerencia, por eso mando el código para que lo vean y me diagn donde puede estar el problema. Muchas gracias. |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
procedimiento almacenado | kejos | MS SQL Server | 3 | 02-09-2008 17:39:22 |
Procedimiento almacenado | LucianoRey | MS SQL Server | 2 | 23-08-2005 00:37:06 |
Procedimiento Almacenado | scooterjgm | Conexión con bases de datos | 5 | 18-01-2005 18:21:32 |
Procedimiento almacenado y Ado | LucianoRey | MS SQL Server | 11 | 06-07-2004 22:55:23 |
procedimiento almacenado | haron | Firebird e Interbase | 2 | 29-09-2003 01:09:56 |
![]() |
|