| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Базы данных. |
| Автор: X-Vlad 17.4.2003, 00:02 | ||||
| база Парадокс пытаюсь удалить запись в таблице:
ALL_ - типа Memo. Вискакивает ошибка: EBDEngineError with message 'Type mismatch in expression' пробовал делать:
ошибка: "table is read-only" помогите. |
| Автор: Vit 17.4.2003, 06:28 |
| В конструкции Where недопустимо использование полей типа Memo. Вторая ошибка связана с первой. |
| Автор: X-Vlad 17.4.2003, 08:29 |
| есть какой-то выход из етой ситуации? |
| Автор: man2002ua 17.4.2003, 09:23 |
| Попробуй использовать при сравнении не все Memo, а часть его. Например substr(Memo,1,4)="blob". точную конструкцию не скажу - Парадокса не знаю, но в MSSQLServere такое катило. |
| Автор: X-Vlad 17.4.2003, 13:54 | ||
в том то и дело что мне надо сравнить всё мемо... |
| Автор: man2002ua 17.4.2003, 14:00 |
| Ну попробуй так substr(Memo,1,len(Memo))='MEMO' |
| Автор: Pakshin A. S. 17.4.2003, 17:47 |
| А если попробовать через компонент типа Table? Может из этого что-то выйдет? P. S. Лично я б писал через Table, только как, пока ещё не знаю . |
| Автор: X-Vlad 19.4.2003, 08:19 |
| спасибо. |
| Автор: Vit 19.4.2003, 16:31 |
| 1) Переделать архитектуру базы данных - например в отдельном поле хранить хэш мемо и сравнивать хэши, а не мемо - будет работать очень быстро, особенно на больших базах 2) Гораздо хуже - в программе тупо в цикле проверять на совпадение. |
| Автор: X-Vlad 20.4.2003, 12:08 | ||
а можна пример? |