|
|
|
ADO + Sort = глюк в Delphi
|
|||
|---|---|---|---|
|
#18+
Есть две связанные таблицы: 1 и 2 типа TADOTable. Связь по полю ID, где ID-Ключевое поле 1-й таблицы. Далее - нужна сортировка во по произвольному полю во 2-й таблице. Т.к. свойство SORT из Object Inspector недоступно, то делем обработку события TADOTable.AfterOpen procedure TForm.AfterOpen(DataSet: TDataSet); begin ADOTable.Sort:='ИМЯ_ПОЛЯ'; end Ессно, эти две таблицы связаны с TDBGrid-ами на форме (далее - таблицы) Запускаем... С виду все нормально, пока не обращаешь внимание на 2-ю таблицу - поля в колонке, по которой сортируется таблица - пустые. Дальше - хуже. При перемещении (при первом же) по 1-й таблице выкидывается сообщение "...exception class EOLEException with message 'Несовпадение типов'. ..." причем это исключение генерируется между BeforeScroll и AfterScroll. Если сортировать позже - допустим, по событию OnTitleClick - то все нормально. Ух... пока писал - нашел одну интересную вещь - исключение генерируется только при сортировке по полю, содержащему дату, но тогда из 2-й таблицы данные не отображаются вообще... Можно было бы, конечно, оформить это дело в виде запроса (что, наверное, и придется делать), но мне уже из принципа интересно, что же все-таки происходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2003, 08:30 |
|
||
|
ADO + Sort = глюк в Delphi
|
|||
|---|---|---|---|
|
#18+
Извиняюсь - с OnTitleClick тот же баг с исключением, а поля никуда не пропадают - у меня просто 2-я таблица не вся была видна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2003, 09:05 |
|
||
|
|

start [/forum/topic.php?fid=56&fpage=51&tid=2016996]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
3296ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 3402ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...