Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   indices en firebird 2.0 (https://www.clubdelphi.com/foros/showthread.php?t=63941)

armando 10-03-2009 02:14:06

indices en firebird 2.0
 
hola a todos, en un principio trabaje con paradox y delphi 5:)
ahora empiezo a trabajar el delphi 7 y firebird 2.0:confused:

ya sabran que a todo se acostumbran uno ..... :o bien
tengo IBExpert para desarrollar bases .... pero ahora
como funcionan los indices :confused:
en paradox lo hacia asi......

Cita:

DM.tabla.IndexName:='BYAUTOR';
DM.tabla.SetKey;
DM.tabla.FieldByName('AUTOR').ASSTRING:=EDIT1.TEXT;
DM.tabla.GotoNearest;
es por un lado y por otro
cuando guardaba los datos en paradox lo hacia asi
Cita:

DM.tabla.insert;
DM.tablaisbn.asstring:=edit1.text;
DM.tablatitulo.asstring:=edit2.text;
DM.tabla.Post;
y en el datamodulo lo hacia asi

Cita:

DBISaveChanges(tabla.Handle);

esto porque si habia una interrupcion de luz

como lo hago en firebird .... :confused:
espero que me puedan orientar
................

RONPABLO 10-03-2009 04:31:29

de aquí puede sacar muy buenas ideas para los indices y de aquí también, un ejemplo:

Código Delphi [-]
   DM.QCrearIndice.Sql.Add('CREATE INDEX IDX_AUTOR ON PERSONS (AUTOR)');
   DM.QCrearIndice.ExecSQL;
   DM.Trans.Commit;

Para guardar:

Código Delphi [-]
   DM.tabla.insert;
           DM.tablaisbn.asstring:=edit1.text;
           DM.tablatitulo.asstring:=edit2.text;
   DM.tabla.Post;            
   DM.Trans.Commit;

Si nota en los dos códigos he puesto algo llamado Trans, Firebird es una BD transaccional y necesita de hacer un commit para aceptar los cambios o las inserciones o un rollback para cancelarlas... lo que lo lleba a que deberá invesigar sobre transacciones en firebird.


Recomendaciones:
1 no trabaje con BDE, aquí recomendan mucho usar DBX, porque en un futuro si desea cambiar de Firebird a otra BD (SQL Server, Oracle, etc) el paso es más transparente, aunque yo uso componentes como MDOLib o IBX.
2. Piense en cambir los componentes de tipo xxxTable por xxxDataSet.
3. En Paradox si usted guardaba un registro, luego un segundo registro y luego un tercero y un cuarto los datos si mal no recuerdo aparecian en el ordern de inserción (1,2,3,4), en Firebird esto no se cumple, pudiendo en un momento afortunado quedar ordenados, pero por lo general en desorden por ejemplo (4,1,3,2), así que es mejor familiarisarce con la sentencia "Order by"...

armando 11-03-2009 00:46:22

lo verificarer
 
ok
como siempre gracias...... lo verificare y a ver que sucede
:D


La franja horaria es GMT +2. Ahora son las 14:35:55.

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