Baza danych-tabela

0

Czy można zmieniać kolejność rekordów w bazie (tabeli,baza lokalna)?
Albo czy można zmieniać kolejność wyświetlanych rekordów z tej bazy w dbgrid(np po posortowaniu)?

0

Kolejnosc rekordow to rzecz wzgledna i zalezna od posortowania (ewentualnie indeksowania).
Natomiast kolejnosci zapisu w tabali nie zmienisz.
Napisz co chcesz osiagnac??

0

W samej bazie, czyli w pliku DBF czy DB, nie. Przy każdym zapisie rekordy są dodawane na koniec pliku.
Natomiast przy wyświetlaniu jak najbardziej można i z reguły nawet trzeba. Jeśli masz w swojej bazie jakieś pole kluczowe, to przy wyświetlaniu rekordy są sortowane według tego pola. Ale sortowanie można ustawiać według dowolnego pola bazy danych.
Malutki przykładzik:
Załóżmy, że chcesz posortować tabelę MY_TABLE według pola POLE1 malejąco. Możesz to zrobić tak:
// uses .....,BDE,..... ;
procedure ExecuteSQL(const SQL: string; Table: TTable);
var
cursor: hDBICur;
begin
Table.Database.Execute(SQL, nil, False, @cursor);
TDBDataSet(Table).Handle := cursor;
end;

......
ExecuteSQL('select * from MY_TABLE order by POLE1 desc', Table1);

Sortowanie można też uzyskać przez odpowiednie zastosowanie indexów.

0

To nie jest baza SQL.
Chce tak wyświetlać tabele w bdgridzie zeby rekordy były posortowane

0

To nie jest baza SQL.

Do wykonywania rozmaitych operacji na lokalnych bazach danych również można stosować język SQL. Przeczytaj LOCALSQL.HLP (http://www.jack1024.private.pl/downloads/download.php?cat=docs&scat=delphi5&f=LocalSQL.pdf.zip).
A przykładzik z postu powyżej jest skopiowany z kodu źródłowego programu bazodanowego opartego na lokalnej bazie danych PARADOX.

0

DZIĘKI JACK

1 użytkowników online, w tym zalogowanych: 0, gości: 1