Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка записей в БД [D5, IB5.x]


venus ©   (2004-01-29 11:45:00) 

Помогите справиться с маленькой проблемкой...
Есть компанент DBGrid, отображающий записи Interbase-ской базы после некоторой выборки. Необходимо отсортировать выбранные записи по возрастанию по одному из полей при нажатии например, на заголовок DBGrid или на другое событие.
Подскажите как это можно сделать.


venus   (2004-01-29 12:34:00) [1]

Можно при написании условий фильтра TIBTable.Filter указать сортировку по полю?


venus   (2004-01-29 12:28:00) [2]

Если сказать кратко, то в рез-те всего формируется фильтр интерб. таблицы TIBTable.Filter:=pntr.WhereClause...
Может его стоит подредактировать?... чтобы сортировка осущ-сь.


Vit@ly   (2004-01-29 12:12:00) [3]

It"s quite easy to do this.
I have a TQuery, TDatasource and TDbGrid on a form, linked together.
QuerySQL is a global string that holds the SQL-statement.
begin
QuerySQL := "SELECT * FROM Customer.DB";
Query1.SQL.Add(QuerySQL);
Query1.Open;
end;
In the DBGrid event OnTitleClick, we just add an ORDER-BY clause to the sql and refresh the query.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
witzh Query1 do
begin
DisableControls;
Close;
SQL.Clear;
SQL.Add(QuerySQL);
SQL.Add("ORDER BY " + Column.FieldName);
Open;
DBGrid1.Columns.RestoreDefaults;
EnableControls;
end;
end;
By Helmut Dollinger


Silver Alex   (2004-01-29 12:12:00) [4]


> venus (29.01.04 12:09) [4]

если сервер IB5, почему нельзя использовать TQuery?А вообще какие компоненты используются?


hirlik   (2004-01-29 12:10:00) [5]

"Что-то типа Query-запроса..." - очень информативно :)
Попробуйте формировать это "что-то типа..." динамически по определенному вами событию с сортировкой по выбранному полю.


venus   (2004-01-29 12:09:00) [6]

Помог бы, если бы был явно компанент Query.


Silver Alex   (2004-01-29 12:05:00) [7]

order by не помогает что-ли?

select num,name from maintable
order by name


:)   (2004-01-29 11:54:00) [8]

Программа не мной писалась изначально. Если правильно поняла код, то создается Filter = class(TForm), потом constructor TFilter.Create, потом при нажатии на кнопку происходит фильтр базы. Что-то типа Query-запроса...


Anatoly Podgoretsky   (2004-01-29 11:49:00) [9]

Каким путем там появляются данные?


Наверх

Титульная страница Поиск, карта сайта Написать письмо