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

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

Вопрос по TQuery, запрос [D4, D6, MSSQL, MSAccess]


SerMaxx ©   (2007-04-21 10:02:00) 

Уважаемые мастера, подскажите пожайлуста, как можно реализовать следующий запрс к БД
SELECT SUM(поле)
FROM таблица
WHERE поле = значение

я пробовал через компонент TQuery со следующим кодом
With Query1 do begin
Close;
SQL.Clear;
SQL.Add ('SELECT SUM(поле)');
SQL.Add ('FROM Таблица');
SQL.Add ('WHERE');
SQL.Add ('(Поле = Значение');
Open;
End;
Где значение задается пользователем из отдельного поля, или являеться компонентом задаваемым в ходе выполнения программы.Где я не прав?
И если позволите, еще вопрос, результат использования компонента TQuery возможно посмотреть только в DBGrid или же если это отдельное число его можно вытащить в отдельное поле, как?
Заранее благодарен за помощь и прошу прощения если дублирую чьи-то вопросы, т.к. не смог найти ответа


Desdechado   (2007-04-21 20:14:00) [1]

Savek   (21.04.07 10:57) [3]
Первый вариант предпочтительнее в разы.


SerMaxx   (2007-04-21 11:08:00) [2]

спасибо огромное! очень помогли
добрых вам битов и огромных байтов ;)


Savek   (2007-04-21 10:57:00) [3]

Два варианта
1. Используем параметры

With Query1 do begin
Close;
SQL.Clear;
SQL.Add ('SELECT SUM(поле)');
SQL.Add ('FROM Таблица');
SQL.Add ('WHERE');
SQL.Add ('(Поле = :ff');
Parameters.ParamByName('ff').Value:=id;
Open;
End;

2. Динамически формируем запрос

With Query1 do begin
Close;
SQL.Clear;
SQL.Add ('SELECT SUM(поле)');
SQL.Add ('FROM Таблица');
SQL.Add ('WHERE');
SQL.Add ('(Поле = '+IntToStr(id));
Open;
End;


SerMaxx   (2007-04-21 10:47:00) [4]

1. проблема в том что значение это некая программная переменная а не конкретное число ну грубо говоря Id: Bytes
так вот запись SQL.Add ('(Поле = Id'); ну ни как не хочет работать.... может я не правильно присваиваю запросу мою переменную?


Savek   (2007-04-21 10:23:00) [5]

1. Где проблема? О чем вопрос-то?
2. MySumma:=Query1.Fields[0].AsCurrency;


Наверх

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