Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Consulta por fechas C++ Builder 10.3 Rio (https://www.clubdelphi.com/foros/showthread.php?t=95275)

isracdc 07-07-2021 06:44:40

Consulta por fechas C++ Builder 10.3 Rio
 
Hola, soy yo de nuevo, vengo con otra duda :(.
Tenía de inicio la versión XE8, ahora estoy con la 10.3 Rio y lo que sucede es lo siguiente:
Tengo una consulta que asigno por código para ver determinados registros de una fecha, usando un DateTimePicker, el código queda de esta manera:

Código:

dmquerys->qrevvent->SQL->Clear();
dmquerys->qrevvent->SQL->Add(" SELECT ventas.*, usuarios.* ");
dmquerys->qrevvent->SQL->Add(" FROM  ventas ");
dmquerys->qrevvent->SQL->Add(" INNER JOIN usuarios ON (ventas.idusuario_venta = usuarios.id_usuario) ");
dmquerys->qrevvent->SQL->Add(" WHERE ventas.id_venta > 0 ");
dmquerys->qrevvent->SQL->Add(" AND ventas.fecha_venta= :varfecha ");
dmquerys->qrevvent->Parameters->ParamByName("varfecha")->Value=dtprevf1->Date;
dmquerys->qrevvent->Open();

el problema está en que en la XE8 la consulta me arroja resultados correctos, pero en la 10.3 no, no entiendo el motivo.
Utilizo MySQL 5.1.45

Neftali [Germán.Estévez] 07-07-2021 10:08:35

¿No será problema de que está incluyendo la hora?
Eso haría que el Where no se cumpliera. en ese caso TRUNC te puede ayudar.

isracdc 07-07-2021 16:05:14

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 541619)
¿No será problema de que está incluyendo la hora?
Eso haría que el Where no se cumpliera. en ese caso TRUNC te puede ayudar.

Gracias por tu respuesta, me diste una idea, no parece haber sido la hora, por razones que no entiendo, porque en la XE8 esta misma consulta, como la mostré me arrojaba registros correctos, no funcionaba en esta versión, lo que hice fue formatear la fecha del DateTimePicker:
Código:

dmquerys->qrevvent->SQL->Add(" AND ventas.fecha_venta= '"+FormatDateTime("yyyy/MM/dd", dtprevf1->Date)+"' ");
Al parecer esta versión no estaba enviando la fecha en formato yyyy/MM/dd y por eso me devolvía un resultado vacío, gracias por tu respuesta, me iluminaste.
P.D.: ¿Cómo se trunca en C++ Builder? La verdad alguna vez investigué sobre eso pero no encontré info.

Casimiro Noteví 07-07-2021 17:23:36

Código PHP:

dmquerys->qrevvent->Parameters->ParamByName("varfecha")->Value Trunc(dtprevf1->Date); 



La franja horaria es GMT +2. Ahora son las 14:58:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi