Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2003
Irina Irina is offline
Miembro
 
Registrado: may 2003
Posts: 39
Poder: 0
Irina Va por buen camino
Thumbs up no funciona el recordcount

Hola foro, mi duda es la siguiente:

hago el recordcount de una tabla y lo asigno a una variable, pero el resultado que me da no es correcto, porque si yo tengo 2 datos metidos en la tabla me muestra que solo tengo uno.

ejemplo:
variable:=(datamodule.tabla.recordcount + 1);

Falla algo del codigo? O es que no se hace asi, o cual es el problema, Espero que alguien me pueda ayudar porque me estoy volviendo loca.

Gracias.
Responder Con Cita
  #2  
Antiguo 12-06-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Qué componentes de acceso a BD utilizas? (BDE, ADO, IBX...)

En según que componentes, dependiendo del ciertas opciones, el RecordCount no funciona bien

Saludos.
Responder Con Cita
  #3  
Antiguo 12-06-2003
Irina Irina is offline
Miembro
 
Registrado: may 2003
Posts: 39
Poder: 0
Irina Va por buen camino
utilizo la paleta interbase, y lka tabla la tengo conectada con un ibtable
Responder Con Cita
  #4  
Antiguo 12-06-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
bueno, te dice que tienes 1 porque hacer

RecordCount + 1



Lo que yo utilizo (y que nunca falla) es una sentencia SQL (los RecordCount ya me han dado demasiodos dolores de cabeza )

select count(*) from tabla

Espero te sirva
Responder Con Cita
  #5  
Antiguo 13-06-2003
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Pues realmente me parece extraño, pues a mi siempre me a ha funcionado el RecordCount y confio siegamente en el... sobre todo si es de un componente nativo de Delphi.

En cuanto a la solucion de Cadetill, creo que es buena, pero si ya tienes una tabla abierta deberias poder utilizarla y no tener que recurrir a una segunda estrategia.

¿Has hecho mas pruebas...?, me refiero que si ¿has observado si siempre la diferencia es 1 elemento, o te salen valores incorrectos en forma aleatoria?

y otra cosa... tampoco entiendo por que el "recordcount +1"


saludos...
Responder Con Cita
  #6  
Antiguo 13-06-2003
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 23
kinobi Va por buen camino
Hola,

Cita:
Posteado originalmente por gatosoft
Pues realmente me parece extraño, pues a mi siempre me a ha funcionado el RecordCount y confio siegamente en el... sobre todo si es de un componente nativo de Delphi.
en realidad puedes confiar en él, pero sabiendo, en el caso de los Dataset's IBX, que lo que devuelve no es la cuenta de filas en la tabla (o consulta) a la que esta enlazado en el Dataset, sino el número de registros por los que te has desplazado en el mismo. De ahí que en la apertura del Dataset la propiedad RecordCount valga 1. Si tras la apertura del Dataset provocas un recorrido completo, por ejemplo con una llamada al método Last, comprobarás como el valor de RecordCount coincide con el número de registros real del Dataset.

Saludos.
Responder Con Cita
  #7  
Antiguo 13-06-2003
Irina Irina is offline
Miembro
 
Registrado: may 2003
Posts: 39
Poder: 0
Irina Va por buen camino
Bueno xicos gracias por vuestra ayuda, pero ya lo he solucionado.

He hecho una consulta, select max,
al resultado de esta le he sumado uno, para asi conseguir el valor siguiente consecutivo.

Espero que os sirva de ayuda.

Gracias por la vuestra de nuevo.

Un saludo
Responder Con Cita
  #8  
Antiguo 13-06-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Posteado originalmente por Irina
He hecho una consulta, select max,
Pero eso no era lo que tu preguntabas!!

Max te devuelve el nº mas grande del campo especificado, no el nº de registros de una tabla
Responder Con Cita
  #9  
Antiguo 13-06-2003
Irina Irina is offline
Miembro
 
Registrado: may 2003
Posts: 39
Poder: 0
Irina Va por buen camino
Ya, tienes razon, me equivoque al poner la pregunta.
Lo siento por armaros ese pequeño lio, jiji

Espero no meter la pata la proxima vez.

Hasta la proxima.
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


La franja horaria es GMT +2. Ahora son las 19:09:17.


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