| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Null Invitado
|
Publicado: Sab 07 May, 2005 9:35 am Asunto: Comprobar que la tabla tiene algun registro |
|
|
| 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 |
|
 |
Fernando Diaz Master


Registrado: 18 Jul 2004Mensajes: 273Ubicación: Talavera de la Reina (Toledo)
|
Publicado: Sab 07 May, 2005 11:37 am Asunto: |
|
|
select * from tablaejemplo;
y luego haces despues del Open:
if (Query1->IsEmpty()) _________________ Los problemas mas dificiles tienen las soluciones mas sencillas
 |
|
| Volver arriba |
|
 |
XyVy Master


Registrado: 25 Ago 2002Mensajes: 557Ubicación: Murcia (España)
|
Publicado: Dom 08 May, 2005 1:44 am Asunto: |
|
|
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 |
|
 |
|