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 10-06-2006
Markoz Markoz is offline
Miembro
 
Registrado: jun 2003
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 28
Poder: 0
Markoz Va por buen camino
Unhappy

Trate de utilizar el mismo codigo para otra consulta donde manejo fechas

Código Delphi [-]
      f1 := DateTimeToStr(dFechaInicio.date) ;
      f2 := DateTimeToStr(dFechaFinal.date) ;
      With dm.QBusKardex do
        begin
          Close;
          SQL.Clear;

          sqlKardex:= 'Select * from tb_Kardex where %s = %s AND FechaTransaccion BETWEEN %s AND %s';
          //SQL.Text := 'Select * from tb_Articulos where Nombre =' + frmBusArticulo.edtBusArticulos.Text ;

          SQL.Text := Format(sqlKardex,
                          ['idArtEan',
                          QuotedStr(ResArticulo),
                          QuotedStr(f1),
                          QuotedStr(f2)]);
          Open;
      

       end;


y me regresa el siguiente error "sintax error converting character string to smalldatetime type"
__________________
In Code I Trust
www.geekmx.com
http://markitoz/blogspot.com
Responder Con Cita
  #2  
Antiguo 11-06-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Las fechas son algo especiales, porque se pueden pasr en varios formatos :
dd/mm/yyyy
mm/dd/yyyy
yyyy/mm/dd

Es mejor que Delphi sea el que busque el formato adecuado para este tipo de datos, así que usamos parámetros:
Código Delphi [-]
      With dm.QBusKardex do
        begin
          Close;
          SQL.Clear;

          sqlKardex:= 'Select * from tb_Kardex where %s = %s AND FechaTransaccion BETWEEN : prFechaInicio AND : prFechaFin';
          SQL.Text := Format(sqlKardex,
                          ['idArtEan',
                          QuotedStr(ResArticulo)]);
    // hemos usado la técnica anterior para establecer parte del SQL, 
   // ahora usamos la otra técnica:
     Parambyname('prFechaInicio').AsDatetime := dtFechaInicio.Date;
     Parambyname('prFechaFin').AsDatetime := dtFechaFinal.Date;
          Open;

En este caso queda algo engorrosa la consulta, pero el nombre de un campo (IdArtEan) no puede pasarse por parámetros. el uso de parámetros en una consulta simple sería:

Código Delphi [-]
   query1.sql.text := ' SELECT * FROM TABLA WHERE Codigo = : prCodigo AND FECHA BETWEEN  : pr1 AND : pr2' ;
  query1.Parambyname('pr1').AsDateTime := now;
  query1.Parambyname('pr2').AsDateTime := now + 4;
  query1.Parambyname('prCodigo').AsInteger := 23;
  query1.Open;
Como ves, a todos los parámetros de la consulta le pongo el prefijo "pr" delante, más que nada por claridad para mí. Simplemente con anteponer los dos puntos ":" a cualquier nombre, ya delphi lo interpreta como un parámetro.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
consulta con un adoQuery manu Conexión con bases de datos 4 29-09-2006 00:17:48
concatenar en un adoquery crack_neon Conexión con bases de datos 2 04-05-2006 21:57:24
ADOStoredProc vs ADoQuery lgarcia Debates 0 11-04-2006 22:06:07
ayuda con adoquery buffygcs SQL 6 18-04-2005 13:45:16
AdoQuery davidgaldo Conexión con bases de datos 1 05-02-2004 20:07:29


La franja horaria es GMT +2. Ahora son las 06:57:42.


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