Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ordenar despues de un Insert (https://www.clubdelphi.com/foros/showthread.php?t=52585)

Jose Roman 24-01-2008 22:23:31

Ordenar despues de un Insert
 
Hola a todos, Es lo siguiente tengo Delphi7, Firebird 2.0, y componentes MDO, megustaria saber la mejor forma de organizar los datos despues de haber hecho un Insert, ya que este dato queda en desorden, solo tengo por ahora dos maneras una realizando de nuevo el select pero me pasa al primer registro y si el ultimo registro insertado debe quedar en el orden numero 50 de 61 que hay que recorrer 49 registros para llegar a el, el otro es el Locate, pero me dicen que este metodo es muy costoso tambien. Que me aconsejan??. Gracias

PepeLolo 03-02-2008 14:32:17

Hola
Entiendo por lo que cuentas que el insert lo realizas sobre el mismo DataSet que sobre el que realizas ejecutas la SQL. En ese caso lo que tienes que hacer despues del "Post", es obtener una marca del registro, este se realiza con la clase TBookmark.
Ejemplo:

Código Delphi [-]
var
  Posicion: TBookmark;
begin
    try
      TuDataSet.Post;
      Posicion := TuDataSet.GetBookmark;   // Posición el registro creado
      TuDataSet.disableControls;
      TuDataSet.Close;
      EjecutarLaSQLconOrderBy
      TuDataSet.gotoBookmark(Posicion);  // ir a la marca del registro creado
    finally
      TuDataSet.enableControls;
      TuDataSet.freeBookmark(Posicion);  // eliminar la marca
    end;
end;

Denes tener en cuenta que lo que he descrito es solo el orden en el que tienen que suceder los mandatos.

Con el ejemplo te olvidas del locate.

Un saludo.


La franja horaria es GMT +2. Ahora son las 10:24:31.

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