PDA

Ver la Versión Completa : Inserta y ordenar


MAXIUM
29-12-2007, 04:21:34
Hola, me la he pasado estos días adentrandome en el fabuloso mundo de Firebird y nada mejor para ello que convertir una vieja aplicación mia con una base datos en DBase IV (no se burlen :mad:) y las componentes del DBE.

Mi consulta es muy sencilla, a pesar que me ha sido facil este cambio topo en algunas cosas como es el caso de tener mi DB enlazada a una DBGrid y cuando inserto un nuevo registro, este no se ordena de forma automática como en DBE donde colocaba el IndexName y ya.

Como logro hacer esto en Interbase. Ya lo he hecho al momento de abrir la tabla usando "ORDER BY", ¿pero con Insert?

Uso Delphi 6 con las IB que bienen con ella (InterbaseExpress 6).

Por su paciencia y comprensión muchas gracias.

droguerman
29-12-2007, 15:38:19
has creado una clave primaria dentro de tu tabla en interbase?

MAXIUM
29-12-2007, 15:48:26
No, en realidad cree un indice. Voy a probar, gracias por responder.

MAXIUM
29-12-2007, 18:18:40
Listo! ¿y ahora?. Ya borrre el Indice y cree la clave primaria

droguerman
30-12-2007, 05:08:14
en realidad la idea era que pruebes la migracion de datos una vez creada la tabla con la clave primaria, no crear, la clave primaria despues

Lepe
30-12-2007, 13:54:15
Maxium, aunque el método prueba y error es muy conocido y usado ;), no es el mejor para este caso. Si trabajas así, te dará fallos que jamás podrás comprender ni adivinar por qué ocurren; porque es una filosofía de trabajo totalmente distinta a la que conoces de DBase IV.

Te aconsejo los manuales, en concreo el "Data Definition Guide.pdf" de www.ibphoenix.com así como el "Developer Guide" y www.firebird.com.mx

Lee todo lo que puedas sobre este magnífico Gestor de Bases de Datos, no te arrepentiras.

Para tu duda. No tiene sentido ordenar cuando insertas/modificas/borras/actualizas porque son sqls de acción, NO de selección. Se ordena cuando usas la propiedad SelectSql, que por defecto se hace al abrir el Dataset.

El campo de clave primaria debe tener valor para todos los registros, y debes suministrarlo tú (por un trigger y un generador).

Saludos

MAXIUM
30-12-2007, 17:41:07
Gracias por el consejo, pero en www.iphoenix.com no encontre "nada". Seguire leyendo más al respecto ;)

Lepe
30-12-2007, 20:57:34
Gracias por el consejo, pero en www.iphoenix.com no encontre "nada". Seguire leyendo más al respecto ;)

jajajaja, con razón, es iBphoenix :D :D me tragué la letra B :D

Saludos.