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


Автор: Azur 23.5.2006, 14:16
Как получившееся значение после запроса , присвоить переменной чтобы потом дельфи могла с ней работать. smile  

Автор: skyboy 23.5.2006, 15:01
Смотря, какой компонент для доступа используешь... Например, так:
Код

MyVariable:=MySQLQuery1.fields.fields[34].AsVariant;

или так:
Код

MySuperVariable:=MySQLQuery1.fields.fieldbyname('MySuperField').AsVariant;
 

Автор: Vit 23.5.2006, 15:11
Чем не устраивает работать с самими результатами запроса? 

Автор: skyboy 23.5.2006, 15:22
Vit, наверное тем, что результаты как значения функций не подлежат изменению smile 

Автор: Azur 24.5.2006, 12:01
Цитата

Чем не устраивает работать с самими результатами запроса?

Мне так и надо !smile
ADOQuery1.SQL.Add('SELECT TABL.'+Field1+' FROM TABL WHERE TABL.Field2= '+quotedstr(a));-Перекрестный запрос
Чтобы после етого запроса, результат можно было присвоить переменной!   

Автор: ТоляМБА 24.5.2006, 12:42
если значение одна строка типа integer, то:
Код

var
  i:Integer;
begin
 ......
 ADOQuery1.SQL.Add('SELECT TABL.'+Field1+' FROM TABL WHERE TABL.Field2= '+quotedstr(a));
 ADOQuery1.Open;
 i:=ADOQuery1.Fields.Fields[0].AsInteger;
 ShowMessage(IntToStr(i));
end;

если несколько строк, то создавай динамический массив и тем-же макаром через

Код

 ADOQuery1.SQL.Add('SELECT TABL.'+Field1+' FROM TABL WHERE TABL.Field2= '+quotedstr(a));
 ADOQuery1.Open;
while not ADOQuery1.eof do
begin
 .....
end;
  

Автор: Azur 25.5.2006, 11:34
Сенкс.Все получилось! smile  

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