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

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

FieldByName [D5, ]


Koks ©   (2001-12-21 11:44:00) 

Есть код:
Procedure DoSmt(var quSorce:TQuery);
var
Str: string;
begin
Str := quSource.FieldByName("FIELDNAME").AsString;
end;

поле FIELDNAME - вычисляемое (в некоторых передаваемых TQuery - Lookup).
Выдается ошибка ("Нет поля FIELDNAME")
как правильно осуществить доступ к Look-up и Calculated полям ?

Заранее спасибо....


Mick   (2001-12-26 11:33:00) [1]

FieldByName работает, просто у тебя в датасете поля такого нет


Alexandr   (2001-12-26 11:32:00) [2]

на теоретическом уровне все должно работать


Koks   (2001-12-26 11:30:00) [3]

спасибо за совет, но я все же не догоняю - почему не работает FieldByName.
Объясните на теоритическом уровне.....


Kouzmine   (2001-12-25 12:14:00) [4]

Тогда передавай номер поля в процедуре, а обращайся Str := quSource.Fields[I].AsString; где I - этот параметр.


Koks   (2001-12-21 15:00:00) [5]

в том-то вся и фишка что они разные. Более того, их много но у всех у них есть строковое DisplayStr. Только у некоторых это поле - lookup, а у некоторых - Calculated.
И все они изначально статические.....

И все равно Ей не нравится....


Kouzmine   (2001-12-21 12:03:00) [6]

Надо создать статические поля. Там будет это поле quSourctFIELDNAME и использывать quSourceFIELDNAME.Value или asString. Но тогда quSource должен быть виден в процедуре, а сама процедура будет выгляд так
procedure DoSmt;
var
Str : String;
begin
Str := quSourceFIELDNAME.AsString и т.д.
Естественно раз не ндо передавать параметр, можно обращаться прямо к запросу. Если запросы разные надо передавать, то тут немного по другому


Наверх

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