Witam !
Szlifuję sobie ten mój projekcik i natrafiłem na kolejny problem. Czytałem już kilka postów na ten temat ale nic z tego. Otóż mam tabelę w bazie którą chcę posortować.
- Stworzyłem dodatkowy formularz nazwijmy go form4 i wrzuciłem na niego TTable, TDataSource, TDBGrid i TQuery. Chciałem żeby po kliknięciu w tytuł kolumny w DBGridzie posortowała mi się tabela wg danej kolumny. Na tym forum dotarłem do kodu
var
atrybut, wartosc: string;
begin
atrybut:=Column.Title.Caption;
if atrybut='imie' then wartosc:='NR_ID';
if atrybut='LP' then wartosc:='LP';
if atrybut='IMIĘ' then wartosc:='IMIE';
if atrybut='nazwisko' then wartosc:='nazwisko';
if atrybut='DATA URODZENIA' then wartosc:='DATA_UR';
if atrybut='ADRES' then wartosc:='ADRES';
if atrybut='TELEFON' then wartosc:='TELEFON';
with IBQuery1, SQL do begin
Close;
Clear;
Add('SELECT * FROM Book ORDER BY '+wartosc+';');
Open;
end;
end;
i starałem się przerobić to na swoje potrzemy. Przede wszystkim co to jest za komponent IBQuery ja nie mam takiego używam Delphi 5. Ale próbowałem dalej
Wrzuciłem kod
var
atrybut, wartosc: string;
begin
atrybut:=Column.Title.Caption;
if atrybut='NAZWISKO' then wartosc:='NAZWISKO';
with Query1, SQL do begin
Close;
Clear;
Add('SELECT * FROM temp ORDER BY '+wartosc+';'); //temp to tabela z którą jest połączony Table1
Open;
end;
end;
do obsługi zdarzenia DBGrid > OnTitleClick. Program się uruchamia ale przy próbie sortowania wyrzuca jakiś błąd
Project Uruchom.exe raised exception class EDBEngineError with message 'Invalid use of keyword.
Token:BY
Line number: 1'.Process stopped .Use Step or Run to continue.
może ktoś znajdzie błąd co robię źle??
z góry dzięki
acha przy próbie wpisania zapytania SQLowego do Query1.SQL
"SELECT * FROM temp ORDER BY Nazwisko ;" i zmianie parametru Active z False na True też wywala jakiś błąd