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-11-2005
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from albaranes');
adoquery1.SQL.Add('where year(fecha)=''2005'' and month(fecha)=''11''');
adoquery1.open;

Aquí teneis el código, a ver si me podeis hechar una mano.

Última edición por davidgaldo fecha: 21-11-2005 a las 10:15:54.
Responder Con Cita
  #2  
Antiguo 21-11-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
El 2005 y el 11 (año y mes) deben estar sin las comillas, ya que son datos numéricos.


Edu
Responder Con Cita
  #3  
Antiguo 21-11-2005
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
sigue sin irme
Responder Con Cita
  #4  
Antiguo 21-11-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
prueba esto:


Código Delphi [-]
ADOQuery1.sql.text := 'select * from albaranes where format(fecha, '''yyyy''')=:paramanyo and format(fecha, '''MM''')=:parammes';
ADOQuery1.parameters.paramByName('paramanyo').Value := 2005
ADOQuery1.parameters.paramByName('parammes').Value := 11
ADOQuery1.open;
Edu
Responder Con Cita
  #5  
Antiguo 21-11-2005
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
si pongo solo el año va pero con el and no va.
Responder Con Cita
  #6  
Antiguo 21-11-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
me pasas el código tal y como lo tienes puesto? Esto ya parece un Poltergeist! Qué raro!


Edu
Responder Con Cita
  #7  
Antiguo 21-11-2005
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
adoquery1.close;
adoquery1.SQL.Add('select * from albaranes');
adoquery1.SQL.Add('where year(fecha)=2005 and month(fecha)=11');
adoquery1.open;
Responder Con Cita
  #8  
Antiguo 21-11-2005
Epachsoft Epachsoft is offline
Miembro
 
Registrado: abr 2005
Posts: 167
Poder: 20
Epachsoft Va por buen camino
Hola,

Usualmente yo lo hago asi. Disculpen la sitnaxis va a pura memoria.

Var
S : TStringList;

begin
S:= TStringList.Create;
try
S.Clear;
s.add('select * from albaranes');
s.add('from albaranes');
s.add('where year(fecha)=:year and month(fecha)=:month');
adodataset.CommandText:=S.Text;
adodataset.Parameters.ParseSQL(S.text,true);
adodataset.Parameters.ParamByName('year').value:=2005;
adodataset.parameters.parambyname('month').value:=11;
adodataset.Open;
try
// haga algo
finally
adodataset.close;
end;
finally
S.Free;
end;

Si esta usando un adoquery, yo creo que aun agregando el texto al SQL tstring, el no detecta los parametros en runtime a menos que se llame el parsesql.

Si no va a usar parametros, es mejroq que use un Format y agregue los valores de fecha como %s.
__________________
Esteban Pacheco
A delphi programming blog

Última edición por Epachsoft fecha: 21-11-2005 a las 17:00:20.
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


La franja horaria es GMT +2. Ahora son las 23:17:04.


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