Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-06-2004
erfedecai erfedecai is offline
Miembro
 
Registrado: jun 2004
Posts: 21
Poder: 0
erfedecai Va por buen camino
IndexFieldNames, problema!!1

Buenas, a ver, tengo un problemilla. Por lo visto cuando edito el indexfieldname de un TTable a un campo varchar para que me lo ordene y pueda hacer busqueda sobre ese indice me duplica las filas de forma basta. En cambio, si establezco el indice a un campo entero por ejemplo me funciona bien. Que podría hacer para que no me duplicase las filas????

Gracias de antemano!!!
Responder Con Cita
  #2  
Antiguo 06-06-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola,

me parece muy raro eso que dices que te duplica las filas... Cambiar esta propiedad solo afecta a como se ordena la tabla en la caché local... SI te duplica registros es que algo más está pasando.

Dices que utilizas TTable... Estás utilizando Paradox? No puede ser que tengas los índices corruptos? Has probado a reconstruir la tabla? Has verificado la propiedad RecordCount antes y después de cambiar el índice?

Última edición por __marcsc fecha: 06-06-2004 a las 23:42:43.
Responder Con Cita
  #3  
Antiguo 06-06-2004
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Hola!

no entendi muy bien tu duda compañero!

pero puedes checar si tu campo que usas en indexfieldName tiene asociado un indice.... despues trata de hacer un TTABLE.Refresh




que estes muy bien.... y si sigue sin funcionar, platicanos mas tu duda!!!!




Nos vemos
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #4  
Antiguo 06-06-2004
erfedecai erfedecai is offline
Miembro
 
Registrado: jun 2004
Posts: 21
Poder: 0
erfedecai Va por buen camino
Si, muy raro

Estoy trabajando sobre interbase y como motor el BDE (aunque sé que da muchos problemas con la caché) Todo lo que dices lo he hecho, menos eso último de recount...., no se qué, que no se lo que es, pero vamos, sigue fallando. Me he dado cuenta de que falla al establecer el indice activo porque si comento "Data->TClientes->IndexFieldNames="NOMBRE";" (Data es el módulo de datos) no se duplica. Pero también me he creado una pequeña base con campos a los que establecia el indice (uno varchar(60) que es el que fallaba, y otro varchar(11) que no falla) y no falla. Así que estoy hecho un lio y temblando como un flan, porque el susodicho programa es para un proyecto final, así que ya no sé.

Pero vamos, seguiré investigando

Un saludo
Responder Con Cita
  #5  
Antiguo 06-06-2004
erfedecai erfedecai is offline
Miembro
 
Registrado: jun 2004
Posts: 21
Poder: 0
erfedecai Va por buen camino
Aun refrescando

Que va amigo, ni refrescando ni nada, esto no tira ni de cachondeo.

Gracias por preocuparos, un saludo
Responder Con Cita
  #6  
Antiguo 06-06-2004
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Hola,

no estoy seguro de haber entendido lo que me decías. Si no entendiste lo de RecordCount, esa es la propiedad que te devuelve el número de registros que hay en una Tabla. Verifica a ver si es el mismo número en ambos casos.

Más cosas. Dices que esto te pasa con una BD concreta. No será que los datos están repetidos pero que sólamente lo ves cuando tienes un índice por ese campo concreto? Imaginate que tienes

Código:
Id     Nombre
--     -------
1      Ambrosio
2      Manolo
.
..
98    Ambrosio
99    Manolo
Si ordenas por ID y tienes varios registros, te costará ver que tienes nombres repetidos, mientras que si ordenas por nombre, lo verás en seguida. Es decir, es problema de los datos y no de la programación.

Puede ser?
Responder Con Cita
  #7  
Antiguo 07-06-2004
erfedecai erfedecai is offline
Miembro
 
Registrado: jun 2004
Posts: 21
Poder: 0
erfedecai Va por buen camino
Pos no

Que va amigo, utilizo la herramienta ibconsole para verificar los datos y realizar sentencias sql (creación de base de datos, triggers, procedimientos...) Y veo que no ha duplicado nada, ej:

ID Nombre

1 Manolo
2 Luis

Si tengo esto en la base, al poner el indice activo en nombre me saldría:

1 Manolo
2 Luis
1 Manolo
2 Luis

Pero ya no solo eso me fastidia, porque yo establezo el indice en nombre para hacer una busqueda incremental por nombre, no? , pero como tengo que hacerla por telefono también ...

ID Nombre Teléfono

1 Manolo 956252525
2 Luis 956263254

coloco el indice sobre teléfono y ahora si no me duplica. Cabe decir que en la base tengo un indice creado para Nombre, no fallará eso? No sé, pero me extraña que por teléfono funcione y para Nombre no, siendo los dos del mismo tipo, varchar(60) y varchar(11) (Nombre, teléfono)

Que opinais?
Responder Con Cita
  #8  
Antiguo 07-06-2004
erfedecai erfedecai is offline
Miembro
 
Registrado: jun 2004
Posts: 21
Poder: 0
erfedecai Va por buen camino
¿Posible Fallo?

Buenas tardes compañeros, he estado mirando mi aplicación, y creo que he dado con la tecla. Al ir comparando todas las propiedades de los TTables que tengo insertados en mi DataModule, he comprobado que la tabla cuyos datos se duplican, tiene la propiedad StoreDefs a true, mientras que las 25 tablas restantes tienen dicha propiedad a false. No se si estare equivocado, pero es mucha casualidad que la unica tabla que se repite es Clientes, y tiene esta propiedad distinta a todos los demas objetos TTable.¿podria ser esta propiedad la causante de mi problema, y la que me duplicas los registros almecados en la tabla de Clientes? No estoy seguro, por eso os pido consejo. De todos modos lo probare a ver que ocurre.

Os mantendre informados.

Un saludo, y Gracias de antemano.

Última edición por erfedecai fecha: 07-06-2004 a las 13:06:33.
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 17:56:21.


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