Тема: ADOQuery.SQL.Text
Показать сообщение отдельно
  #12  
Старый 16.11.2013, 15:49
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от govorun
А это останется в силе?
Edit3.Text := FloatToStrf(ADOQuery3.Fields[0].AsFloat,ffNumber,12,2);
Edit3.Text := FloatToStrf(ADOQuery3.Fields[1].AsFloat,ffNumber,12,2);
Edit3.Text := FloatToStrf(ADOQuery3.Fields[2].AsFloat,ffNumber,12,2);
я имею ввиду 0, 1, 2 (это номера строк ?)
Нет. Это номера полей (т.е. колонок).
Вообще не все провайдеры гарантируют, что в результате вернутся поля в том порядке в котором были перечислены в запросе, поэтому для надёжности лучше их именовать прямо в запросе и потом обращаться к ним по именам.

Пример запроса:
PHP код:
SELECT TOP 1
(SELECT SUM(Поле2) AS Sum100 FROM Таблица WHERE Поле1 100),
(
SELECT SUM(Поле2) AS Sum200 FROM Таблица WHERE Поле1 200),
(
SELECT SUM(Поле2) AS Sum300 FROM Таблица WHERE Поле1 300FROM Таблица 
И потом в программе:
Код:
Edit1.Text := FloatToStrF(ADOQuery3.FieldByName('Sum100').AsFloat, ffNumber, 12, 2);
Edit2.Text := FloatToStrF(ADOQuery3.FieldByName('Sum200').AsFloat, ffNumber, 12, 2);
Edit3.Text := FloatToStrF(ADOQuery3.FieldByName('Sum300').AsFloat, ffNumber, 12, 2);
Ответить с цитированием