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 

IBQuery1->RecordCount no devuelve el numero correcto

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: IBQuery1->RecordCount no devuelve el numero correcto Responder citando

Hola gente, estoy trabajando con una base de datos Firebird, al realizar una busqueda con un IBQuery y que vaya completando una barra de progreso anda todo barbaro, solo que IBQuery1->RecordCount; me devuelve un valor mucho menor a la cantidad de registros q tengo. Por lo que la barra se completa a los segundos pero sigue completando los registros...

cual puede ser el problema

Código:

      IBQuery1->Active=true;
      IBQuery1->First();
      ProgressBar1->Max=IBQuery1->RecordCount;

      for(int i=0;i<IBQuery1>RecordCount;i++){
         ProgressBar1->Position=i;
         Application->ProcessMessages();
         IBQuery1->Next();
         }
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Schweiko, pues de entrada la siguiente linea está mal, no sé si fué error de dedo ya que el compilador debería marcarte ese error, pero de todas maneras te lo hago ver:

Código:
for(int i=0;i<IBQuery1>RecordCount;i++){


debe ser

Código:
for(int i=0;i<IBQuery1>RecordCount;i++){


o también puede ser algún error en tu Query.

Salu2
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Veo que al poner la linea cómo código quita el "-" del "->",

for(int i=0;i<IBQuery1>RecordCount;i++){

por lo que creo no es error de dedo, puedes postear el query para revisarlo??

Salu2
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

si se borra el - en el codigo jeje... que quieres que postee del query?

para no complicarme cree un proyecto con un IBDataBase, IBTransaction, IBQuery, DataSource y un DBGrid. todos conectados a la base de datos

La sentencia SQL del Query es
Código:
SELECT * FROM ARTICULOS


Y al presionar un boton se dispara el codigo que puse abajo, pero el query me devuelve que hay 27 registros,por lo que el ProgressBar queda con un maximo de 27, pero al ejecutar el for recorre los 200 y largos de registros...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

A mi ocurrió lo mismo cuando empecé a trabajar con Firebird y la respuesta me la dio Touchsoftwares. Mira esto: ¿Cuántos registros?.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Gracias por las respuestas. estoy probando y ahora si funciona.
Un saludo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Re: IBQuery1->RecordCount no devuelve el numero correcto Responder citando

De todas formas, prueba este otro código:
Código:
IBQuery1->Open();
IBQuery1->Last();
ProgressBar1->Max=IBQuery1->RecordCount;
IBQuery1->First();
while (!IBQuery1->Eof)
{
     ProgressBar1->Position ++;
     IBQuery1->Next();
}

¡Ah! Y desmarca la casilla que hay al pie del cuadro de mensajes del foro que pone Deshabilitar BBCode en este mensaje.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Bueno gracias nuevamente, una pregunta, para que es eso del BBCode?
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Schweiko escribió:
Bueno gracias nuevamente, una pregunta, para que es eso del BBCode?

No lo sé, pero determinadas combinaciones de signos las interpreta y por ejemplo te pone < en lugar de <-
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

ha ok, anda perfecto ahora.. muchisimas gracias por las respuestas
Volver arriba
Ver perfil de usuario Enviar mensaje privado
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.