Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.22;
Скачать: CL | DM;

Вниз

Вопрос по TQuery, запрос   Найти похожие ветки 

 
SerMaxx   (2007-04-21 10:02) [0]

Уважаемые мастера, подскажите пожайлуста, как можно реализовать следующий запрс к БД
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 или же если это отдельное число его можно вытащить в отдельное поле, как?
Заранее благодарен за помощь и прошу прощения если дублирую чьи-то вопросы, т.к. не смог найти ответа


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

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


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

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


 
Savek   (2007-04-21 10:57) [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 11:08) [4]

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


 
Desdechado ©   (2007-04-21 20:14) [5]

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



Страницы: 1 вся ветка

Текущий архив: 2007.07.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1179287475
kukuikar
2007-05-16 07:51
2007.07.22
Синхронизатор: проблема быстрой проверки большого кол-ва файлов


15-1182541836
ArtemESC
2007-06-22 23:50
2007.07.22
Спамеры уже добрались до телефонов...


9-1156784627
Начинающий_1
2006-08-28 21:03
2007.07.22
OpenGL. Помогите оптимизировать код.


15-1182854372
Карелин Артем
2007-06-26 14:39
2007.07.22
Учебные материалы по CMMI level 4 найти где?


15-1182694844
Fyr
2007-06-24 18:20
2007.07.22
Ошибка №1410 (CLASS_EXIST)