Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хранимая процедура и выборка, как правильно использовать 
:(
    Опции темы
Aprol
Дата 15.8.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



слышал что лучше использовать для выборки хранимые процедуры, нежели query.
1.Почему лучше?
2. Когда создаю процедуру вида:
Код

BEGIN
  FOR
    select NAME from names
    INTO :NAME
  DO
  BEGIN
    SUSPEND;
  END
END

в ibexpert работает нормально.
Пробую в delphi, использовать её записи не выводятся.
Что я не так делаю?
         
Код

 while not Source.DataSet.Eof do
                           begin
                           showmessage(Source.DataSet.Fields.fieldbyname('NAME').AsString)) ;
                            Source.DataSet.Next;
                           end;

Если dbgrid использовать данных выборки тоже нет в компоненте.
PM MAIL   Вверх
SergeBS
Дата 15.8.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

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



Aprol
Цитата
слышал что лучше использовать для выборки хранимые процедуры, нежели query.
1.Почему лучше?

Где слышал, там и спрашивай. Не лучше. Зависит от ситуации.
Цитата

2. Когда создаю процедуру вида:
...
SUSPEND;

Разберись, что такое курсор и чем отличается от обычного select.
LangREF:
Цитата

SUSPEND In a SELECT procedure:
• Suspends execution of procedure until next FETCH is issued by the
calling application
• Returns output values, if any, to the calling application
• Not recommended for executable procedures

Делай обычный select или делай курсор. Для грида - select. Для получения 1 строки данных - курсор или select, но хитрый.
PM MAIL   Вверх
Marduk
Дата 23.8.2007, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



для работы с хранимой процедурой под SQL Server я использую либо ADOStoredProc или ADOCommand, может я ошибаюсь, но мне кажется что и в IBExpert после передачи ей параметров(если они есть) надо ее запустить чтобы она сработала 
Код

exec ProcName

PM MAIL 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.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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