Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возврат COUNT(*), Как правильно вернуть Count() из запроса 
:(
    Опции темы
budg
Дата 6.5.2006, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



На сервере MSSQL лежит хранимая процедура:

Код

...
ALTER   PROC GetCountOffer
@CountOf integer=NULL OUTPUT,

AS
SELECT COUNT(*)
FROM OfferEntry
Where OfferID=@CountOf
...


К ней обращается функция из проги:

Код

function TForm1.GetCountOffer(CurOfID: String): String;
  begin
  With ADOStoredProc2 do
    begin
    Parameters.ParamByName('@CountOf').Value:=CurOfID;
    Prepared;
    ExecProc;
    Result:=Parameters.ParamByName('@RETURN_VALUE').Value;

    end;
  end;


Проблема в том, что не возвращается Count()... smile , т.к. результат не привязан к какому-либо параметру (поле и т.д.).
Как вернуть?

 
PM MAIL   Вверх
Vit
Дата 7.5.2006, 05:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

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



Я это делаю так:
Код


ADOQuery1.sql.text:='Exec GetCountOffer :i'
ADOQuery1.parsesql(ADOQuery1.sql.text, true)
ADOQuery1.parameters.parambyname('i').Value:=чемуто там
ADOQuery1.open
Result:=ADOQuery1.fields[0].asInteger;


PS. Прошу ппрощения - псевдокод, синтаксис и запятые не проверял... доставите сами 


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
budg
Дата 10.5.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо.
Примерно так и сделал, но только напрямую через SQL запрос:
Код

...
With ADOQuery2 do
    begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT Count(*) From OfferEntry WHERE OfferID='+CurOfID);
    Open;
    Result:=ADOQuery2.Fields[0].AsString;
    end;
...


 
PM MAIL   Вверх
Vit
Дата 10.5.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

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



Цитата(budg @  10.5.2006,  01:18 Найти цитируемый пост)
но только напрямую через SQL запрос:



Хм... а в чём эта прямота заключается? Я что-то не вижу различий между моим и вашим кодом... 


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
budg
Дата 11.5.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Vit @ 10.5.2006,  13:27)
Цитата(budg @  10.5.2006,  01:18 Найти цитируемый пост)
но только напрямую через SQL запрос:



Хм... а в чём эта прямота заключается? Я что-то не вижу различий между моим и вашим кодом...

Не использую хранимую процедуру GetCountOffer... 
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.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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