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 29-11-2008
Avatar de El Mike
El Mike El Mike is offline
Miembro
 
Registrado: feb 2008
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 15
Poder: 0
El Mike Va por buen camino
ERROR: Data Type mismatch in criteria expression

Hola amigos y amigas del club..

Explico mi problema: manejo delphi 2006 y acces, estoy tratando de hacer una consulta entre fechas y otro dato (digamos modelo), pues bien el asunto es que al hacer mi consulta por medio de un TADOQuery me arroja el siguiente error: "Data Type mismatch in criteria expression".

Ya revice mis tipos de datos en la DB y son de tipo 'Date'.

les pongo el codigo de mi consulta para que lo chequen y me digan si estoy mal... segun yo el codigo esta bien.

para sacar las fechas utilizo dos TDateTimepicker, uno para la fecha inicial y otro para la fecha final.

Código Delphi [-]
QC.Close;
   QC.SQL.Clear;
   QC.SQL.Add('SELECT * from envios');
   QC.SQL.Add('Where (envios.modelo = :mod) and (envios.fecha Between (fecha >= :Fecha1) and (fecha <= :Fecha2))');

   QC.SQL.Add('ORDER By envios.Fecha');
   QC.Parameters.ParamByName('Mod').Value:=frmfreportes.Edopcion.Text;
   QC.Parameters.ParamByName('Fecha1').Value:=frmfreportes.MCdesde.Date;
   QC.Parameters.ParamByName('Fecha2').value:=frmfreportes.MCHasta.Date;

   QC.active:=true;
   QC.Open;


Saludos...
Responder Con Cita
  #2  
Antiguo 29-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Así debería ir:
Código Delphi [-]
QC.Close;
   QC.SQL.Clear;
   QC.SQL.Add('SELECT * from envios');
   QC.SQL.Add('Where (envios.modelo = :mod) and (envios.fecha Between :Fecha1 and :Fecha2)');

   QC.SQL.Add('ORDER By envios.Fecha');
   QC.Parameters.ParamByName('Mod').Value:=frmfreportes.Edopcion.Text;
   QC.Parameters.ParamByName('Fecha1').Value:=trunc(frmfreportes.MCdesde.Date);
   QC.Parameters.ParamByName('Fecha2').value:=trunc(frmfreportes.MCHasta.Date);

   QC.active:=true;
   QC.Open;

he retocado la sintaxis de between y añadir el trunc porque Tdate y Tdatetime es lo mismo en delphi, así que le pasaba también la hora.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 01-12-2008
Avatar de El Mike
El Mike El Mike is offline
Miembro
 
Registrado: feb 2008
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 15
Poder: 0
El Mike Va por buen camino
k tal Lepe... gracias por tu respuesta.

utilice el codigo con la modificacion que hiciste, pero me sigue marcando el mismo error, la verdad sigo sin entender por k me lo marca, ya revice todos mis tipos de datos relacionados con la consulta y es en las fechas donde me marca el error.

mencionas que tal vez es por que tambien le pasaba la hora, revice mi base de datos y solo guardo la fecha (sin la hora), verificare ese punto.

saludos.
Responder Con Cita
  #4  
Antiguo 01-12-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
y modelos que tipo de campo es? concuerda con lo qe el usuario pueda escribir en el texto?
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 01-12-2008
Avatar de El Mike
El Mike El Mike is offline
Miembro
 
Registrado: feb 2008
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 15
Poder: 0
El Mike Va por buen camino
buen dia Eduarcol

modelos es solo un string que paso desde un Tedit.
Responder Con Cita
  #6  
Antiguo 01-12-2008
Avatar de El Mike
El Mike El Mike is offline
Miembro
 
Registrado: feb 2008
Ubicación: Los Mochis, Sinaloa, Mexico
Posts: 15
Poder: 0
El Mike Va por buen camino
amigos....

Cambie los TDateTimePicker por TMaskedit y la consulta me sale a la perfeccion.

Seguire buscando el por que con los TDateTimePicker no me sale la consulta.

Saludos.
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
Error adoqry empresa mismatch type forfield " id_campo" expecting: largeint actal bcp Yun-i Varios 3 01-05-2008 23:21:07
Error [Oracle][ODBC]restricted data type attribute violation bego Oracle 3 06-01-2007 18:55:23
Error: Type mismatch in expression gusanita Varios 11 28-01-2006 18:12:17
type mismatch in expression noe SQL 1 12-02-2005 02:41:26
Database Desktop, Type Mismatch Expression en campo fecha fjolivares SQL 1 19-01-2005 13:45:53


La franja horaria es GMT +2. Ahora son las 09:14:52.


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