|
Вопрос # 3 855/ вопрос открыт / |
|
Приветствую, уважаемые эксперты! Нужна помощь от тех, кто использовал библиотеку EhLib. Суть проблемы такая:
есть база данных в Access (таблица "main" и куча полей, среди которых есть поле Memo), для подключения использую следующую связку:
ADOConnection->ADOQuery->DataSetDriverEh->MemTableEh->DataSource->DBGridEh. В ADOQuery в SQL прописываю следующее: SELECT * FROM main. Запускается все нормально, но при попытке отредактировать любое поле после события Post выдает ошибку: "Не удается применить порядок сортировки". Разобравшись, понял что эту ошибку вызывает поле Memo, без него работает все на Ура, но это поле мне очень надо. Как быть, что посоветуете. За ранее спасибо.
 |
Вопрос задал: Терехин Саша (статус: Посетитель)
Вопрос отправлен: 7 марта 2010, 00:59
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 7 марта 2010, 22:05; участников в обсуждении: 2.
|
Егор (статус: 10-ый класс), 7 марта 2010, 17:12 [#1]:
и каким это образом Memo мешает?
код привести бы
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
Терехин Саша (статус: Посетитель), 7 марта 2010, 21:03 [#2]:
а кода пока что нет. На форме DBGridEh в DataModule - ADOConnection->ADOQuery->DataSetDriverEh->MemTableEh->DataSource. В Query прописано SELECT * FROM main. После активации ADOQuery и MemTableEh (свойство Active:=true) в гриде выводятся данные базы из таблицы main. В поле Memo в каждой строке отображается надпись "(MEMO)".
Так вот, при попытке изменить данные в каком либо поле (не Memo) при вызове метода Post (кликаю по другой записи) выскакивает именно эта ошибка: "Не удается применить порядок сортировки".
При запуске сформированого exe фала такая ошибка не выскакивает, однако измененные данные в базу не записываются после вызова метода MemTableEh.ApplyUpdates(0). Вот в принципе и все.
Я так понимаю, что по полю Memo MemTableEh просто не умеет сортировать, если это так, то это печально.
|
|
Егор (статус: 10-ый класс), 7 марта 2010, 22:05 [#3]:
тогда:
1) не используем сортировку по полю мемо
2) если используем, то используем свою функцию сравнения
3) прописываем события OnSetText и OnGetText (подробнее см. мой ответ на вопрос 3809
что-то из этого может быть поможет
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|