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


Автор: Nikkie 10.6.2005, 16:49
я выполняю запрос

Код

      with Q.sql do
       begin
       add('select Max(id) from news');
       end;
     Q.ExecSQL;


как мне запихнуть результат в переменную?

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

Автор: AntonSaburov 10.6.2005, 16:57
Код

var
  A : integer;
...

A := Q.FieldByName('ID').AsInteger;

A := Q.Fields[0].AsInteger;


И смотрите примеры и документацию на форуме - тут ее много. На самом верху раздела.

Автор: Nikkie 10.6.2005, 17:00
Может я чего-то не понял....
Мне надо максимальное значение столбца id запихнуть в переменную...

Или этот код это и делает?
После моего кода?

Автор: AntonSaburov 10.6.2005, 17:04
Уф-ф-ф. Не обратил внимания на запрос.

Тогда работать будет второй вариант. И надо сделать просто Open вместо Q.ExecSQL

Код

Q.Open;

A := Q.Fields[0].AsInteger;

Автор: Nikkie 10.6.2005, 17:10
Пробую...

Автор: Nikkie 10.6.2005, 17:33
Код

Q := TQuery.Create(Application);
     Q.DatabaseName := 'Mysql1';
Q.Open;
mn := Q.Fields[0].AsInteger;

Пишет No SQL Statement Available.....
Или надо вставить запрос?

Что-то я торможу... smile

Автор: AntonSaburov 10.6.2005, 17:39
Конечно надо и запрос сделать

Код

Q.SQL.Add('SELECT MAX(ID) FROM News');
Q.Open;
A := Q.Fields[0].AsInteger;

Автор: Alex 10.6.2005, 17:40
Код

var
  mn : integer;
...

with TQuery.Create(Application) do try
  DatabaseName := 'Mysql1';
  Sql.Text:= 'select Max(id) from news';
  Open;
  mn:= Fields[0].AsInteger;
finally
  Free;
end;

Автор: Nikkie 10.6.2005, 17:41
smile Спасибо!!!
Огромное Спасибо!!!

Автор: AntonSaburov 10.6.2005, 17:44
Заходи еще. Будем рады.

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