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

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

Ошибка метода GetIndexForFields [D7, IB6.x]


Deshifrator ©   (2005-04-28 07:41:00) 

Привет всем!!! Вот решил проконсультироваться по одному вопросу.
Вот например я создаю убывающий индекс:
CD.AddIn('Index','Cust'[ixDescending','','',0) то когда я пытаюсь найти этот индекс с помощью метода
Showmessage(CD.IndexDefs.GetIndexForField('Cust',False).Name)   то выскакивает ошибка. Хотя в Хэлпе написано что этоо метод может производить поиск индексов по убывающим полям.Вот я и хотел узнать может кто подскажет почему так происходит. И еще сдесь в качаестве CD я использовал  ClientDataSet.


Deshifrator   (2005-04-28 12:57:00) [1]

Спасибо за совет!!!


DSKalugin   (2005-04-28 11:44:00) [2]

забыл обновить список индексов перед тем как прочитать изменения
схема такая
Ttansaction.StartTransaction; // <=+++
ClientDataSet.AddIndex()
Ttansaction.Commit;!!! // обязательно подтвердить
ClientDataSet.IndexDefs.Update; // освежить инфу
ClientDataSet.IndexDefs.GetIndexForFields //прочитать его

а вообще с IB6.x надо работать средствами SQL,
а не старинными методами BDE

выполни следующий запрос через компонент IBSQL с подтверждением транзакции

CREATE DESCENDING INDEX ИмяИндекса
ON ИмяТаблицы (ИмяПоля)


Наверх

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