Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить из запроса результат COMPUTE, BDS2006, ADO, MSSQL 2005 
:(
    Опции темы
ALEXPLUS
  Дата 12.2.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.7.2005
Где: Солнечный Узбекис тан

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



Как мне получить результат выполнения раздела COMPUTE в запросе? Сами запросы выполняются правильно, результат вывожу в StringGrid, но что с COMPUTE, что без COMPUTE ADOQuery.RecordCount остается одним и тем же.
PM MAIL ICQ   Вверх
Rodman
Дата 12.2.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(ALEXPLUS @  12.2.2007,  10:22 Найти цитируемый пост)
Сами запросы выполняются правильно, результат вывожу в StringGrid,

зачем так сложно??? DBGrid для этого...

че за COMPUTE???


Цитата(ALEXPLUS @  12.2.2007,  10:22 Найти цитируемый пост)
что с COMPUTE, что без COMPUTE ADOQuery.RecordCount остается одним и тем же


переоткрой запрос, и если что то добавил или удалил - данные обновятся...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ALEXPLUS
Дата 12.2.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.7.2005
Где: Солнечный Узбекис тан

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



Цитата(Rodman @  12.2.2007,  11:28 Найти цитируемый пост)
зачем так сложно??? DBGrid для этого...

Хочу. 

Цитата(Rodman @  12.2.2007,  11:28 Найти цитируемый пост)
че за COMPUTE???

Приведу выдержку из книги Мамаева и Шкариной "Microsoft SQL Server 2000 для профессионалов"
Цитата

Раздел COMPUTE
Этот раздел позволяет применять к выбираемым столбцам функции агрегирования. Результат агрегирования выводится в отдельной строке после выборки всех данных. Синтаксис разжеда COMPUTE следующий:
Код

COMPUTE
{{ AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM}
(expression)} [,...n]
[BY expression [,...n]]


Аргумент expression должен содержать имя агрегируемого столбца, который включается в результат. Ключевое слово BY определяет, что результат вычисления следует сгруппировать



Пример 
Код

SELECT name, zarplata from table compute sum(zarplata)



PM MAIL ICQ   Вверх
ALEXPLUS
Дата 23.2.2007, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.7.2005
Где: Солнечный Узбекис тан

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



Уважаемые программисты, разве никто не знает куда выводится результат COMPUTE? Если знаете, ПОМОГИТЕ ПОЖАЛУЙСТА!

Если кому-то непонятна суть проблемы постараюсь еще раз объяснить на пальцах.
В T-SQL есть раздел COMPUTE, в котором можно применять агрегирующие функции к столбцам, например суммирование всех значений или среднеарифметическое.

Пример: 
Код

SELECT Name, zarplata FROM sotrudnik COMPUTE sum(zarplata)


Примерно вот такой должен быть результат:

name             zaraplata
------------------------------
Иванов          15000
Петров          11000
Сидоров        20000
Антонов        10000
------------------------------
                      56000

Цифра 56000 является результатом выполнения COMPUTE


Проблема заключается в том, что я не знаю как из компонента ADODataSource (или другого?) вытащить вот эту цифру 56000. Всё остальное (то есть, то что является результатом SELECT Name, zarplata FROM sotrudnik) получить могу. Другими словами Вывод для запроса 
Код

SELECT Name, zarplata FROM sotrudnik
 и 
Код

SELECT Name, zarplata FROM sotrudnik COMPUTE sum(zarplata)
 я получаю один и тот же

К сообшению прилагаю программу для выполнения запросов. Программа конечно простая как амёба, но мне хватает для начала.


Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  SQL_Query_Result_Viewer_for_MSSQL_Server.rar 9,25 Kb
PM MAIL ICQ   Вверх
bas
Дата 23.2.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

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



Код

SELECT Name, zarplata FROM sotrudnik 
union
SELECT 'Total', sum(zarplata) FROM sotrudnik 

PM MAIL   Вверх
ALEXPLUS
Дата 24.2.2007, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 8.7.2005
Где: Солнечный Узбекис тан

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



bas, как получить сумму по столбцу я знаю. Меня этот вопрос не волнует, я хочу узнать как получить тот же результат имеено с помощью COMPUTE
PM MAIL ICQ   Вверх
superVad
Дата 26.2.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

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



Может это надо запостить не в раздел по делфе а в раздел - Базы данных/масдаевский сервер
PM MAIL   Вверх
kobra
Дата 28.2.2007, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

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



дело в том что сервер при этом возврашает два набора данних. а датасеты от делфи умеют читать  и выдавать резултат только первого набора. так что вариант bas а в делфи единствены
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0722 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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