Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2006
efelix efelix is offline
Miembro
 
Registrado: jul 2006
Posts: 84
Poder: 18
efelix Va por buen camino
Actualizar tabla usando procedimiento almacenado

Hola a todos. Trabajo con Delphi 7 y Sql Server 2000. Utilizo para conectarme a la base de datos sql server los componentes de la paleta ADO. Tengo el siguiente problema: he diseñado tres procedimientos almacenados con la finalidad de actualizar un campo de una de las tablas de la base de datos con la cual trabajo. Los procedimientos almacenados tienen el siguiente código:
Código SQL [-]
CREATE PROCEDURE spDebitarCheque 
 (@IdCheque int,
              @FechaDebito datetime)
  
AS UPDATE [Cheque].[dbo].[Cheques] 
SET   [FechaDebito]  = @FechaDebito
WHERE IdCheque =@IdCheque
GO
El segundo tiene el siguiente código
Código SQL [-]
CREATE PROCEDURE [sp_Debitar_Cheques]
 (@FechaEmision datetime,
              @FechaDebito datetime)
  
AS UPDATE [Cheque].[dbo].[Cheques] 
SET   [FechaDebito]  = @FechaDebito
WHERE FechaEmision =@FechaEmision
GO
El tercero tiene el siguiente código:
Código SQL [-]
CREATE PROCEDURE spDebitarRango 
             (@FechaEmision datetime,
              @FechaEmision1 datetime,
              @FechaDebito datetime)
  
AS UPDATE [Cheque].[dbo].[Cheques] 
SET   [FechaDebito]  = @FechaDebito
WHERE (FechaEmision >=@FechaEmision AND FechaEmision <=@FechaEmision1)
GO

Que persigo con esto, actualizar en dependencia de varios criterios el campo FechaDebito de la tabla cheques. He probado cada uno de estos procedimientos almacenados en sql server y funcionan a la perfección.
Ahora cuando voy a delphi y trato de que esto funcione vienen los problemas.
Tengo un formulario con los siguientes componentes. Un radiogroupbox con las siguientes opciones Debitar un cheque, Debitar varios cheques y Debitar por rango de fechas. Además tengo un Panel, dos Groupbox. En el Panel tengo colocado un edit para poner el número del cheque que se quiere debitar, en uno de los groupbox tengo dos datetimepicker para establecer el rango de fecha para los cheques a los cuales se quiere actualizar su FechaDebito. En el evento onclick del radiogroupbox puse lo siguiente:
Código Delphi [-]
begin
 with RGDebitarCheques do
 begin
   CriteriodeSeleccion.Caption := Format('%S',[Items[ItemIndex]]);
   case ItemIndex of
   0:begin
      Panel1.Visible := True;
      ADOSPDebCheque.Close;
      ADOSPDebCheque.Parameters.ParamByName('@IdCheque').Value := EditNoCheque.Text;
      ADOSPDebCheque.Parameters.ParamByName('@FechaDebito').Value := DTPFechaDebitoPanel.Date;
      ADOSPDebCheque.ExecProc;
     end;
Solamente para probar si funciona la actualización de la tabla con la primera opción pero esto me genera una excepción en la EoleException. Cuando hago click en la primera opción del componente radiogroupbox se levanta dicha Excepción en esa clase que traducida al español me dice que la palicación está usando un valor de tipo incorrecto y se detiene en la línea de código siguiente:
Código Delphi [-]
ADOSPDebCheque.Parameters.ParamByName('@FechaDebito').Value := DTPFechaDebitoPanel.Date;
He revisado cual podría ser la causa de este error pero nada, no doy con ella. Además de eso tengo un adotable en el formulario que muestra los registros de la tabla cheque, y quesiera que cuando se actualizen dicho campo (FechaDebito), este se actaulize y me muestre los resultados. Como se haría esto. Muchas gracias, disculpen lo denso de mi mensaje, pero enso es el código, a lo mejor todo está mal concevido, espero que alguién pueda ayudarme.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Se puede pasar una tabla a un procedimiento almacenado? AFilth MS SQL Server 2 07-02-2006 13:10:21
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
actualizar con dbexpres y un procedimiento almacenado felixgo Conexión con bases de datos 1 22-06-2004 12:21:17
Procedimiento Almacenado Ulises Providers 3 30-01-2004 18:14:58


La franja horaria es GMT +2. Ahora son las 05:17:56.


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
Copyright 1996-2007 Club Delphi