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

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

Как получить результат SQL запроса (Firebird) [D7, XP]


d@nger ©   (2009-12-08 13:33:00) 

Здравствуйте! Допустим SQL запрос выдает несколько строк из таблицы. Каким образом из программы можно получать значения полей этой выборки?


d@nger   (2009-12-11 06:59:00) [1]

все спасибо! разобрался. нужно использовать next IBQuery. В своей программе я правда использую FIBQuery и вот мое решение:

sql:=TpFIBQuery.Create(nil);
 with sql do
 try
   Database := fmain.my_database;
   Transaction :=fmain.my_database.DefaultTransaction;
   SQL.Text := 'select reg_num from documents where konvert_parent='+id;
   ExecQuery;
   s:='';p:='';
   while not Eof do
   begin
     s:=s+p+Fldbyname['reg_num'].AsString;
     p:=', ';
     next;
   end;
 finally
   sql.Free;
 end;


в переменной s содержаться значения всех записей поля reg_num, через запятую, удовлетворяющих запросу.


d@nger   (2009-12-09 06:25:00) [2]

Приведите пример пожалуйста. Next чего? датасета?


Германн   (2009-12-08 14:07:00) [3]


> но как мне обращаться то к этим записям в цикле?

Волшебное слово Next. Подробности в справке.


sniknik   (2009-12-08 14:05:00) [4]

> а как остальные записи то получить?
first 5, или убрать это, и условие чтобы получить все

> но как мне обращаться то к этим записям в цикле?
также как вне его
> что-нибудь типа
> MyVar:=MyQuery['MyField'];


d@nger   (2009-12-08 14:01:00) [5]


> только в цикле.

ну хорошо.... в цикле.. но как мне обращаться то к этим записям в цикле?


d@nger   (2009-12-08 13:58:00) [6]

select first 1 cena from massa where mas>=50
таким запросом можно получить первую запись выборки, а как остальные записи то получить?


Sergey13   (2009-12-08 13:57:00) [7]

> [5] d@nger   (08.12.09 13:53)
> да, через запятую

см.
> [1] RWolf ©   (08.12.09 13:39)

только в цикле.


d@nger   (2009-12-08 13:54:00) [8]


> Запрос не выдает строки. :)
>

ну записей...


Германн   (2009-12-08 13:53:00) [9]


> например запрос выдал 5 строк

Запрос не выдает строки. :)


d@nger   (2009-12-08 13:53:00) [10]


> Все 5 значений в одну переменную? Через запятую что ли?

да, через запятую


Sergey13   (2009-12-08 13:51:00) [11]

> [2] d@nger   (08.12.09 13:47)

Все 5 значений в одну переменную? Через запятую что ли?

ЗЫ:Каша у тебя в голове, ИМХО. Лечится чтением умных книг.


d@nger   (2009-12-08 13:47:00) [12]


> что-нибудь типа
> MyVar:=MyQuery['MyField'];

например запрос выдал 5 строк. как мне вывести значения всех 5 строк по полю MyField и записать их в переменную?


RWolf   (2009-12-08 13:39:00) [13]

что-нибудь типа
MyVar:=MyQuery['MyField'];


Наверх

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