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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2006
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 22
trex2000 Va por buen camino
Question Fechas en SQL Server

Saludos:
Estoy haciendo una aplicacion que lee datos de SQL Server y hago la conexion por medio de ADO pero al momento de que estoy generando un Query cuando pongo los parametros de la Fecha me manda el sig error:
"La operacion de multiples pasos de OLEDB genero errores.Compruebe los valores de estado de OLE DB si es posible.No se realizo ningun trabajo".

El codigo que estoy usando es el sig:

Cita:
modulo.ADOQuery1.Close;
modulo.ADOQuery1.SQL.Clear;
modulo.ADOQuery1.SQL.Add('Select a.cardholderid,a.cardnumber,a.deleted,');
modulo.ADOQuery1.SQL.Add('b.recordid,b.firstname,b.lastname,b.deleted,b.note4,');
modulo.ADOQuery1.SQL.Add('c.param3,c.param2,c.param1,c.link1,c.recvtime,c.gentime,c.link2,c.link3,c. deleted');
modulo.ADOQuery1.SQL.Add('From card a,cardholder b,history c');
modulo.ADOQuery1.SQL.Add('Where (a.cardholderid = b.recordid)And (b.recordid=c.link3)And(a.Deleted = 0)');
modulo.ADOQuery1.SQL.Add('And (a.cardnumber Between :EmpIni And :EmpFin)And((c.link1 = :Puerta1)Or(c.link1 = :Puerta2))');
Modulo.ADOQuery1.SQL.Add('And (b.note4 <> epto)');
Modulo.ADOQuery1.SQL.Add('Order By a.Cardnumber');
Modulo.ADOQuery1.Parameters.Clear;
Modulo.ADOQuery1.Parameters.CreateParameter('EmpIni',ftInteger,pdInput,10,null);
Modulo.ADOQuery1.Parameters.CreateParameter('EmpFin',ftInteger,pdInput,10,null);
Modulo.ADOQuery1.Parameters.CreateParameter('Puerta1',ftInteger,pdInput,10,null);
Modulo.ADOQuery1.Parameters.CreateParameter('Puerta2',ftInteger,pdInput,10,null);
Modulo.ADOQuery1.Parameters.CreateParameter('FechaIni',ftDate,pdInput,25,null);
Modulo.ADOQuery1.Parameters.CreateParameter('FechaFin',ftDateTime,pdInput,25,null);
Modulo.ADOQuery1.Parameters.CreateParameter('Depto',ftString,pdInput,25,null);
Modulo.ADOQuery1.Parameters.ParamByName('EmpIni').Value:=Edit_EmpIni.Text;
Modulo.ADOQuery1.Parameters.ParamByName('EmpFin').Value:=Edit_EmpFin.Text;
Modulo.ADOQuery1.Parameters.ParamByName('Puerta1').Value:=Edit_PE.Text;
Modulo.ADOQuery1.Parameters.ParamByName('Puerta2').Value:=Edit_PS.Text;
Modulo.ADOQuery1.Parameters.ParamByName('FechaIni').Value:=DTPFI.Date;
Modulo.ADOQuery1.Parameters.ParamByName('FechaFin').Value:=DTPFF.Date;
Modulo.ADOQuery1.Parameters.ParamByName('Depto').Value:='Mantenimiento';
modulo.ADOQuery1.Open;
Me podrian decir que se debe este error y como corregirlo.

De antemano muchas gracias.

Última edición por trex2000 fecha: 21-08-2006 a las 23:52:12.
Responder Con Cita
  #2  
Antiguo 21-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

1) Debes utilizar las etiquetas para los codigos. Edita tu mensaje y ponlas, por favor.

2) Las lineas qeu tiene CreateParameter creo que estan demas. El Query crea los parametros automatico. Lo que sí falta es que definas el tipo de datos a cada parametro con DataType.

No estoy seguro si esto puede resolver el problema.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 22-08-2006
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 22
trex2000 Va por buen camino
Question

Gracias por tu recomendacio, pero no funciono lo que escribiste para modificar de hecho si quito el createparam me marca un error de que no existe el parametro.Por lo tanto el problema sigue igual, les agradecere mucho su ayuda.

De antemano muchas gracias.
Responder Con Cita
  #4  
Antiguo 22-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
...de hecho si quito el createparam me marca un error de que no existe el parametro.
Ese error te aparece porque haces Clear en los parametros. Tambien quitalo!
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 22-08-2006
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 22
trex2000 Va por buen camino
Question

Gracias otra vez por tu ayuda, ya le quite el clear alos parametros, tambien quiete el createparam y puse lo que me dijiste pero me marca el sig. error

Cita:
Caracteristica opcional no implementada
Como lo podria solucionar?

De antemano muchas gracias.
Responder Con Cita
  #6  
Antiguo 23-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

No especificas en que linea te dá ese error, ademas de que desconozco ese error.
Código Delphi [-]

With modulo.ADOQuery1 do 
Begin
  Close;
  SQL.Clear;
  SQL.Add('Select a.cardholderid,a.cardnumber,a.deleted,');
  SQL.Add('b.recordid,b.firstname,b.lastname,b.deleted,b.note4,');
  SQL.Add('c.param3,c.param2,c.param1,c.link1,c.recvtime,c.gentime,c.link2,c.link3,c. deleted');
  SQL.Add('From card a,cardholder b,history c');
  SQL.Add('Where (a.cardholderid = b.recordid)And (b.recordid=c.link3)And(a.Deleted = 0)');
  SQL.Add('And (a.cardnumber Between :EmpIni And :EmpFin)And((c.link1 = :Puerta1)Or(c.link1 = :Puerta2))');
  SQL.Add('And (b.note4 <> :depto)');
  SQL.Add('Order By a.Cardnumber');
{
Como dije anteriormente, en ocasiones ahi que definir el tipo de datos a 
cada parametro, Por ejemplo
    Parameters.ParamByName('EmpIni').DataType:=ftString;
}
  Parameters.ParamByName('EmpIni').Value:=Edit_EmpIni.Text;
  Parameters.ParamByName('EmpFin').Value:=Edit_EmpFin.Text;
  Parameters.ParamByName('Puerta1').Value:=Edit_PE.Text;
  Parameters.ParamByName('Puerta2').Value:=Edit_PS.Text;
  Parameters.ParamByName('FechaIni').Value:=DTPFI.Date;
  Parameters.ParamByName('FechaFin').Value:=DTPFF.Date;
  Parameters.ParamByName('Depto').Value:='Mantenimiento';
  Open;
end;
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 23-08-2006 a las 00:23:04.
Responder Con Cita
  #7  
Antiguo 23-08-2006
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 22
trex2000 Va por buen camino
Question

Saludos:
Donde me genera el error es en las lineas que contienen los paramtros de la fecha.

De antemano muchas gracias.
Responder Con Cita
  #8  
Antiguo 23-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Viste el comentario que puse dentro del código??

Prueba en asignar el tipo de datos a los parametros, antes de darle el valor:
Parameters.ParamByName('FechaIni').DataType:=ftDate //ftDateTime
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 23-08-2006
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 22
trex2000 Va por buen camino
Question

Saludos:
Si lo lei y tambien ya lo hice y me marca de todos modos el error.

Gracias por tu tiempo y paciencia.
Responder Con Cita
  #10  
Antiguo 23-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Bueno, lo unico rapido que se me ocurre hasta el momento es que inicies un nuevo proyecto para probar, con un solo formulario, realizar la conexion nuevamente y ejecutar la consulta.

Hazlo asi, una prueba, si funciona pues ya sabes que debes eliminar los componentes ados que tienes en ese proyecto por otros. No digo que los componentes no funcionen bien, sino que puede ser que se haya modificado alguna propiedad que hasta el momento no nos hemos dado cuenta.

Vamos hombre!, Dale caña al asunto
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
Respuesta



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
Server con 2k, cliente Win98 y SQL Server majaco MS SQL Server 1 24-05-2006 01:57:22
fechas en sql server 2000 y delphi MRJAVA SQL 1 22-10-2005 19:31:50
Las horribles fechas, control de fechas Huer OOP 6 18-10-2005 19:11:49
Problemas con Terminal Server Win 2003 Server El_Perrito Windows 0 16-10-2004 19:53:45
Super Server o Classic Server Gabriel Firebird e Interbase 2 18-09-2003 19:45:49


La franja horaria es GMT +2. Ahora son las 19:22:31.


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