Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Динамический запрос


Автор: Thoron 29.3.2011, 20:42
Добрый день.
Вопрос в следующем - есть динамически формируемый запрос (к примеру):

Query.SQL.Clear;
Query.SQL.Add('SELECT Name');
Query.SQL.Add('FROM Tab');
Query.Open;

Соответственно обратиться к запросу 
Query.FieldByName('Name').AsString
Или просто 
QueryName.AsString
Я не могу, т.к. 'Name' не прописано в списке полей компонента Query.

Как теперь вытащить данные?
Спасибо.

Автор: Данкинг 29.3.2011, 21:03
Цитата(Thoron @  29.3.2011,  21:42 Найти цитируемый пост)
Я не могу, т.к. 'Name' не прописано в списке полей компонента Query.

Чявой-чявой? "Query.FieldByName('Name').AsString", всё правильно.

Автор: superVad 29.3.2011, 23:36
Цитата(Thoron @  29.3.2011,  19:42 Найти цитируемый пост)
Query.FieldByName('Name').AsString

Смело обращайся так.

Автор: Thoron 30.3.2011, 07:23
smile Не, не так!
Хорошо, давайте по шагам. 
Кидаю компонент Query, цепляю его к базе и больше с ним ничего не делаю (не пишу статичный SQL, не добавляю полей, т.к. не знаю, что буду возвращать заранее). После программно «динамически» создаю для этого Query компонента SQL код:

Query.SQL.Clear;
Query.SQL.Add('SELECT Name');
Query.SQL.Add('FROM Tab');
Query.Open;

Но поле «Name» в списке возвращаемых полей не прописано (т.к. следующий раз этим же компонентом я буду возвращать результат совершенно другого запроса с другими полями). 
Вопрос все тот же – как теперь вытащить данные?
Спасибо.

Автор: Frees 30.3.2011, 08:01
Thoron, после открытия, если поля не созданы в дизайне автоматом создадутся, и будут доступны через FieldByName!

Ты пробовал то, что тебе посоветовали?

Автор: Thoron 30.3.2011, 08:40
Да, прошу прощения за отнятое время. Что-то я затупил. Вроде раз 10 писал так и не срабатывало, щас новый проектик сделал - заработало... Где-то еще ошибка. Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)