Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Nuevos registros se presentan al inicio... (https://www.clubdelphi.com/foros/showthread.php?t=92197)

Phacko 24-08-2017 04:24:12

Nuevos registros se presentan al inicio...
 
¿Que tal? De nuevo por aquí, dando la lata.
Estoy trabajando en bases de datos con InterBase y FireBird; todo parece trabajar bien cuando hago la captura(en tiempo de ejecución) de registros en forma consecutiva, el problema se presenta cuando salgo de Delphi y cuando vuelvo a entrar y hago mas capturas de registros éstos se visualizan al inicio de todos los registros capturados anteriormente, entro a Interbase y consulto los datos y se presentan correctamente en el orden que fueron capturados. Otra duda que tengo es como hacer un auto incremento en un campo clave y único.
Gracias por su atención.

Guti13 24-08-2017 08:34:34

Buenos días Phacko. No entiendo realmente el problema. ¿Los registros que capturas lo muestras en una rejilla a partir de un TQuery o estas usando un TClientDataset. En el primer caso dependerá de la cláusula order by que uses y en el segundo dependerá de como insertes el registro en el dataset.

Con respecto al tema del auto-incremento de un campo clave único no existe esta posibilidad como los IDENTITY de SQL Server, para Interbase te aconsejo que uses los generadores.

Espero haberte sido de ayuda

duilioisola 24-08-2017 09:42:56

Código SQL [-]
/* AUTOGENERADORES FIREBIRD */

set term ^;

CREATE GENERATOR GEN_MY_TABLE_ID
^

CREATE TABLE MY_TABLE (
    ID  INTEGER NOT NULL
)
^

CREATE OR ALTER TRIGGER MY_TABLE_BI0 FOR MY_TABLE
ACTIVE BEFORE INSERT POSITION 0
as
begin
    if (new.id is null) then
        new.id = gen_id(gen_my_table_id, 1);
end
^
commit work^

Casimiro Notevi 24-08-2017 11:16:12

Cita:

Empezado por duilioisola (Mensaje 520518)
...

^\||/^\||/^\||/

Phacko 24-08-2017 22:03:26

Gracias por sus respuestas. Estoy trabajando con DS capturando y visualizando en DBEdit y DBLookUpComboBox, para hacer la captura hago Append, que hasta donde sé agrega un registro al final de la tabla, y si lo hace, siempre y cuando las capturas de registros las haga de una sola vez porque las que haga posteriormente las muestra al inicio , no así en InterBase que los muestra en el orden en que fueron agregados. Ahora bien en cuanto al auto-incremento ¿el código se teclea en Interbase?

Gracias a todos.

Casimiro Notevi 24-08-2017 22:27:47

Cita:

Empezado por Phacko (Mensaje 520552)
Gracias por sus respuestas. Estoy trabajando con DS capturando y visualizando en DBEdit y DBLookUpComboBox, para hacer la captura hago Append, que hasta donde sé agrega un registro al final de la tabla, y si lo hace, siempre y cuando las capturas de registros las haga de una sola vez porque las que haga posteriormente las muestra al inicio , no así en InterBase que los muestra en el orden en que fueron agregados. Ahora bien en cuanto al auto-incremento ¿el código se teclea en Interbase?
Gracias a todos.

Necesitas esto, y después serás todo un experto.

Phacko 25-08-2017 03:08:16

Gracias a todos. Arriba club, son grandes, más que por sus aportes, por su disponibilidad.

Gracias nuevamente.

duilioisola 25-08-2017 10:11:34

Cita:

Ahora bien en cuanto al auto-incremento ¿el código se teclea en Interbase?
No, lo que envié es un script que puedes pasar a una base de datos y crea los elementos (tablas, generador, trigger).

Lo mas sencillo es tener un administrador de base de datos. IBExpert, Marathon o FlameRobin son algunos de ellos.
Con estos trabajarás como si de un IDE se tratara.

Marathon está hecho en Delphi.
IBExpert es de pago.
FlameRobin no lo he utilizado todavía.

Casimiro Notevi 25-08-2017 10:40:08

Marathon está hecho en Delphi. (Y es libre, aquí.)
IBExpert es de pago. (Aunque tiene una versión gratis, totalmente funcional, aquí.)
FlameRobin no lo he utilizado todavía. (Es libre, y tiene versión para Linux, aquí.)


La franja horaria es GMT +2. Ahora son las 14:00:13.

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