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

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

Как организовать SQL запрос для поиска в <BLOB Memo> поле таблицы [D7, Paradox]


Zaero ©   (2005-08-12 10:51:00) 

Господа, подскажите пожалуйста, как организовать SQL запрос для обращения к информации в <BLOB memo> - поле таблицы. Т.е. при стандартном синтаксисе:
SELECT * FROM Table WHERE BLOBField = 'что-нибудь'
появляется ошибка "Несоответствие типов в выражении".

Если передавать "что-нибудь" в качестве параметра:

Query.SQL.Add('SELECT * FROM Table WHERE BLOBField = :param');
Query.Prepare;
Query.ParamByName('param').AsString:='Что-нибудь';

или
Query.ParamByName('param').AsBlob:='Что-нибудь';

или
Query.ParamByName('param').AsMemo:='Что-нибудь';

- картина аналогичная - "Несоответствие типов в выражении".
В чем проблема?


Zaero   (2005-08-12 12:28:00) [1]

2DenK_vrtz: Не, неправильно выразился.Надо сделать не выборку полей, а просто - выборку записей, где поле memo заполнено.


Sergey13   (2005-08-12 12:27:00) [2]

WHERE BLOBField IS NOT NULL


Zaero   (2005-08-12 12:18:00) [3]

2DenK_vrtz: Спасибо, запрос типа like помог, но только в случае с поиском конкретной фразы. Что делать, если мне надо сделать выборку полей, где memo заполнено?

Вышеописанные запросы:

Query.SQL.Add('SELECT * FROM Table WHERE BLOBField <> :param');
Query.Prepare;
Query.ParamByName('param').AsString:='';

или
Query.ParamByName('param').AsBlob:='';

или
Query.ParamByName('param').AsMemo:='';

выдают все то же несоответствие типов.


DenK_vrtz   (2005-08-12 11:42:00) [4]

Запрос типа
select * from table where mem like '%' || :par || '%'
где par - параметр строкового типа


GLFox   (2005-08-12 11:37:00) [5]

А если castпопробовать?


ANB   (2005-08-12 11:21:00) [6]


> rayrom ©   (12.08.05 11:18) [1]
- от у меня такое предчуствие, что и like не поможет. А поможет (если только это возможно) - Анатолий Подгорецкий, когда придет.


rayrom   (2005-08-12 11:18:00) [7]

Попробуй вместо := поставить like


Наверх

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