Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Comprobar que la tabla tiene algun registro

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Comprobar que la tabla tiene algun registro Responder citando

Queria realizar una comprobación en un if que la tabla a la que me refiero tiene al menos algun registro, sabe ¿alguien como comprobarlo?
Volver arriba
Mensaje    Asunto: Responder citando

select * from tablaejemplo;

y luego haces despues del Open:

if (Query1->IsEmpty())
_________________
Los problemas mas dificiles tienen las soluciones mas sencillas
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Por supuesto hay soluciones mejores que la que voy a dar yo, pero la solución que propone Fernando Diaz, debería ser desaconsejable, aunque pueda funcionar correctamente, el problema viene motivado de que si la tabla tuviera un millón de registros, al hacer un Open() te los traerias todos desde el servidor con lo que conllevaría un desperdicio grande de tiempo y una bajada en el rendimiento de la aplicación.

Rápidamente lo que puedes hacer es parecido a lo que comenta Fernando Díaz, pero con una consulta algo más inteligente:

SELECT count(*) FROM nombre_tabla;

Y luego al hacer el Open estudiar si hay algun registro o nó...

Si usas Fireibrd, podrías hacer lo siguiente:

SELECT FIRST 1 FROM nombre_tabla;

Lo que te daría unicamente un registro, luego al hacer un open solo tienes que estudiar si se produce un EOF en ese caso sabrías que no hay ninguno.

Lo digo porque un SELECT COUNT(*) también es costoso. Aunque por lo menos el trabajo lo realizaría el SGBD y no cargarías la red con transmisión de datos tontamente como en la primera solución expuesta por Fernando Díaz.

Ciao y suerte.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.