Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить результат SQL запроса в переменную? Подскажите 
:(
    Опции темы
Nikkie
Дата 10.6.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет



я выполняю запрос

Код

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


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

Заранее спасибо smile
PM MAIL ICQ   Вверх
AntonSaburov
Дата 10.6.2005, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Код

var
  A : integer;
...

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

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


И смотрите примеры и документацию на форуме - тут ее много. На самом верху раздела.
PM MAIL WWW ICQ   Вверх
Nikkie
Дата 10.6.2005, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет



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

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


Это сообщение отредактировал(а) Nikkie - 10.6.2005, 17:01
PM MAIL ICQ   Вверх
AntonSaburov
Дата 10.6.2005, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Уф-ф-ф. Не обратил внимания на запрос.

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

Код

Q.Open;

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

PM MAIL WWW ICQ   Вверх
Nikkie
Дата 10.6.2005, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет



Пробую...
PM MAIL ICQ   Вверх
Nikkie
Дата 10.6.2005, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет



Код

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

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

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

Это сообщение отредактировал(а) Nikkie - 10.6.2005, 17:35
PM MAIL ICQ   Вверх
AntonSaburov
Дата 10.6.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Конечно надо и запрос сделать

Код

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

PM MAIL WWW ICQ   Вверх
Alex
Дата 10.6.2005, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Код

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;



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Nikkie
Дата 10.6.2005, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 13.4.2005

Репутация: нет
Всего: нет



smile Спасибо!!!
Огромное Спасибо!!!
PM MAIL ICQ   Вверх
AntonSaburov
Дата 10.6.2005, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Заходи еще. Будем рады.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.