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-12-2006
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Unhappy no puedo controlar las inserciones en Paradox

Hola amigos. Tengo un problema que nunca me habia pasado antes con este tipo de tablas. Trabajo con Delphi 7. Cada registro que guarda en la tabla se posiciona en un lugar de acuerdo al orden alfabetico del resto de los indices, es decir, si ingreso las claves 5, 8 , 7 , 1 en este mismo orden en la tabla queda como 1,5,7,8. Y si ingreso por ejemplo SER003, SER001, SER002, en la tabla queda como SER001, SER002, SER003. Entonces no puedo navegar correctamente por los registros. Utilizo el método Append el cual me permite crear un registro nuevo al final de la tabla pero igual me inserta los indices en una posicion inadecuada. Quizás todo este bien configurado pero tiene que haber algo que al final me ordena los indices alfabéticamente, si alguien pudiera ayudarme le estaria agradecido, de antemano gracias.

Última edición por TrUnkS fecha: 06-12-2006 a las 08:16:00.
Responder Con Cita
  #2  
Antiguo 08-12-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Sería de grran ayuda que incluyeras el DDL de tu tabla para ver que índice te está pegando.

Suerte
Responder Con Cita
  #3  
Antiguo 09-12-2006
Avatar de fedelphi
fedelphi fedelphi is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santa Fe
Posts: 122
Poder: 19
fedelphi Va por buen camino
No entiendo bien, a ver si es cierto Trunks como lo interprete, insertas claves del los tipos como dijiste anteriormente? o sea numeros y alfanumaericas? si es asi debes tener definido un indice alfanumerico. Seria bueno tener un poco mas de detalles si no es como lo interprete. Suerte
Fede
__________________
De lo que hay no falta nada!!!
Responder Con Cita
  #4  
Antiguo 10-12-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Hola

Si creaste un Indice del código que estás usando, de seguro que siempre te lo va a ordenar por código. Si no estas usando Indice, puede ser debido al Grid que estas usando, algunos grid como los de DEvelopers Express, ordenan los datos por las columnas a menos que le configures lo contrario.

Saludos
Responder Con Cita
  #5  
Antiguo 12-12-2006
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Hola. Estuve revisando mas informacón al respecto y nemesio tiene razón. Cuando creamos una tabla Paradox con un indice primario de tipo Alfanumérico, a medida que le vamos ingresando datos, los registros se ordenan de acuerdo al primer caracter de la clave primaria ingresada, si son iguales compara el segundo caracter de menor a mayor. Mi problema es que a mi no me interesa que los ordene por orden ascendente o descendente, lo único que quiero es que me los ordene del mas antiguo al mas nuevo, esto por efectos de navegación en mi aplicación. Por ejemplo si insertamos los registros con las claves 5,3,7,2 en el Database Desktop los veremos en el orden 2,3,5,7, o sea de menor a mayor. No puedo hacer para que me los deje en el mismo orden que los ingrese. Me constituye un problema porque al navegar por los registros con un DBNavegator no aparecen en el orden que los ingrese. Me da la impresión de que Paradox funciona asi y no hay forma de arreglarlo, pero cualquier sugerencia se agradece
Responder Con Cita
  #6  
Antiguo 12-12-2006
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
di quiers ue te los repsente en el orden en que los vas ingresando, porque no pruebas a creear un campo extra, que va a ser autonumerico, y los ordeneas por ese campo,
__________________
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
  #7  
Antiguo 13-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Normalmente la clave primaria no se suele poner un dato significativo en la aplicación, es decir, no usemos el nº de factura como clave primaria, esto nos puede acarrear muchos problemas (por ejemplo al cambiar el modo de numeración de las facturas, que implicaría cambios sustanciales en la base de datos).

Como alternativa a tu duda, puedes crear un índice secundario sobre ... por ejemplo un campo fecha, o como ya han dicho un autoincremento, así al especificar en la propiedad IndexFieldName el nombre de este nuevo campo, se usará una ordenación distinta de la clave primaria.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 13-12-2006
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
Estoy totalmente de acuerdo con Lepe.


añadiendo lo que comenta, em agunas corporaciones y empresas y para mayor estabilidad en el software.


Es requerimiento que en el modelo de datos de la aplicacion, sea cual sea su motor de base de datos, no estan permitidos los campos autoincrementos, la primary key del campo debe estar formada por datos de la tabla, y casi siempre es usada por campos unicos y una fecha que en su totalidad forman la llave primaria.


para ti trunks, agregando un campo autonumerico a tu tabla de paradox, creo que bastara para ordenar por ese campo y tus registros tendran el orden en que los vayas introducioendo
__________________
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
  #9  
Antiguo 14-12-2006
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 93
Poder: 19
TrUnkS Va por buen camino
Concuerdo con Paoti en su declaración referente a la teoria de base de datos. Si bien sabemos que en lo posible no deben haber campos autoincrementables, mucho nos sirve a la hora de solucionar problemas como este. De hecho ya me di cuenta que Paradox ordena sus indices primarios de acuerdo a un orden ascendente o descendente, pero no he podido encontrar la forma en que la ordene de la mas antigua a la mas actual, a no ser que se haga un indice secundario, pero es lo mismo porque lo ordena de acuerdo a este indice secundario. Referente al comentario de Lepe no creo que hayan problemas en dejar como clave primaria el numero de factura, ya que (a nivel de legalidad) las facturas no se eliminan ni se modifican, mi opinión es ingresar la factura a la base de datos cuando se haya cancelado, y para eso el usuario debe tener un botón que activa el ingreso de la factura luego que el usuario haya confirmado la veracidad de los datos y la cancelación de la factura. Veo que la unica forma de poder solucionar esto es con InterBase, de hecho ya he solucionado el problema utilizando componentes IBTable y IBDataSet de InterBase

Última edición por TrUnkS fecha: 14-12-2006 a las 06:27:06.
Responder Con Cita
  #10  
Antiguo 14-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hombre, si hablo es por experiencia. Inicialmente hice un sistema con numeración de facturas 00001/2006 (número factura / año), después el sistema se modificó para permitir facturar con múltiples empresas, necesitando 01-00001/2006 (nº empresa- numero factura / año) ya, no es algo frecuente, pero si tuve que remodelar la base de datos, además de su clave primaria y de camino creé 2 campos IdMaestro (para la factura) e IdDetalle (para las lineas de la factura) de modo que no necesitara el nº de factura para esa relación.

Además al poner en producción el sistema, normalmente te piden que empiece en tal o cual número de factura, que es muy normal, si lo tienes como clave primaria, debes modificar el autoincremento (hablamos de paradox).

También coincido en que una factura no pueda borrarse, pero algunos usuarios crean la factura y después quieren borrarla "como si no hubiera pasado nada" (porque se equivocó al hacer clic).


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo controlar el USB? z-7 Varios 5 11-02-2006 22:30:18
No puedo Grabar en Paradox Migueloon Tablas planas 3 11-02-2006 18:44:02
Como puedo controlar el puerto paralelo con C#? z-7 .NET 1 09-01-2006 03:13:52
No puedo arbir una tabla paradox William Garcia Tablas planas 1 03-03-2004 19:30:18
Controlar insercion de fecha y hora en una tabla paradox Muten Tablas planas 7 13-08-2003 17:42:53


La franja horaria es GMT +2. Ahora son las 11:02:39.


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