Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ADOTable, ADOQuery и индексы.

2.1K
11 апреля 2005 года
greyich
117 / / 02.02.2005
Если на форме лежит DBGrid и к нему прикреплен TADOTable, то в событии TitleClick очень удобно написать

AnsiString ss;
ss = Column->FieldName;
ADOtable1->IndexFieldNames = ss;

и тогда по щелчку на названии поля по таблице будет проводится сортировка данных.

проблема в использовании TADOQuery, у которого нет
IndexFieldName. Есть только IndexFieldCount, IndexFields, IndexName. Скажите можно ли проиндексировать (отсортировать)используя эти свойства (или другие) либо ADOQuery для этого не предназначен.
259
11 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
Если на форме лежит DBGrid и к нему прикреплен TADOTable, то в событии TitleClick очень удобно написать

AnsiString ss;
ss = Column->FieldName;
ADOtable1->IndexFieldNames = ss;

и тогда по щелчку на названии поля по таблице будет проводится сортировка данных.

проблема в использовании TADOQuery, у которого нет
IndexFieldName. Есть только IndexFieldCount, IndexFields, IndexName. Скажите можно ли проиндексировать (отсортировать)используя эти свойства (или другие) либо ADOQuery для этого не предназначен.


Query - это sql - запрос и его упорядочивание производится с помощью конструкции order by.
Поэтому сделать можно так:

 
Код:
AnsiString ss;
ss = Column->FieldName;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from table1 order by "+ss);
ADOQuery1->Open();
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог