Форум: "Базы";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизХранимая процедура Найти похожие ветки
← →
kostet (2005-09-30 11:54) [0]Доброго всем времени суток! Вопрос такой, хранимая процедура возвращает некоторые данные в клиент. Здесь их нужно обработать по событию прихода данных из хранимой процедуры на сервере. Используется компонент ADOStoredProc. На какое событие нужно повесить обработку данных. По идее на событие возврата данных. Но такого события у ADOStoredProc нет. Может ещё какое событие можно использовать. Если нет, то может можно как-то написать слушатель...
← →
ANB © (2005-09-30 12:00) [1]
> Вопрос такой, хранимая процедура возвращает некоторые данные
> в клиент.
- в виде дейтасета ? Синхронно по времени через ADO не получится, пока вся ХП не отработает.
← →
Val © (2005-09-30 12:19) [2]Проблема не ясна. Процедура возвращает сформированный набор данных, т.е. к ним можно обращаться после выполнения процедуры.
← →
ANB © (2005-09-30 12:24) [3]Можно попробовать через DBLIB, но много писать и результат не гарантирован. А через QA синхронно приезжают ?
← →
Nikolay M. © (2005-09-30 12:40) [4]Вопрос по аналогии: какое событие использовать для отлова окончания работы функции извлечения квадратного корня?
ПС
Тема асинхронности выполнения запроса не раскрыта.
← →
Sergey13 © (2005-09-30 12:50) [5]Я может чего не понимаю (с АДО не работал), но наверное у ADOStoredProc тоже есть метод Open (раз что-то возврашается). Наверное после него и можно обрабатывать.
← →
Os © (2005-09-30 13:45) [6]А почему нельзя использовать ADOQuery и запрос Select
← →
Fay © (2005-09-30 17:06) [7]2 Os © (30.09.05 13:45) [6]
Дело в том, что речь, как Вы заметили, идёт не о IB, а о MSSQL.
2 kostet (30.09.05 11:54)
См. [5]
← →
AlexWlad © (2005-09-30 19:42) [8]Что такое "некоторые данные"? Если несколько значений переменных - то можно через OUTPUT-параметры. Если рекордсет - то кто запрещает пользовать Open?
← →
kostet (2005-10-01 21:26) [9]Функция может возвращать одно единственное число-идентификатор или набор данных не суть важно. А запрос нельзя использовать потому что этот идентификатор приходит из другой программы, точнее кассы. Архитектура такая: есть две программы работающие с одной базой (вернее одна работает с ней постоянно, а другая через хранимую процедуру посылает второй программе необходимые данные, т.к. сама с базой на прямую работать не может, для этого и была написана процедура на стороне сервера.) Дело в том, что обработка данных очень сложна, и функцианальности языка transact sql не хватает, поэтому решено написать обработку в отдельной программе, которая бы принимала данные с сервера. Ну а чтобы зря не пропадала процедура она параллельно делает выборку данных, который потом отображается в DBGrid.
← →
Danilka © (2005-10-03 09:00) [10]kostet (01.10.05 21:26)
вернее одна работает с ней постоянно, а другая через хранимую процедуру посылает второй программе необходимые данные, т.к. сама с базой на прямую работать не может, для этого и была написана процедура на стороне сервера.
Брр. объясни, плиз, на пальцах, а то мозгов понять не хватает.
1. какая не может работать с базой, та, которая работает с ней постоянно, или вторая, которая получает данные через "хранимую процедуру"?
2. как именно вторая получает данные через хранимую процедуру?
Дело в том, что обработка данных очень сложна, и функцианальности языка transact sql не хватает
Думаю, ты ошибаешься. При работе с кассами и прочее функциональности tsql не будет хватать только в одном случае - когда данных, необходимых для расчетов нет на сервере.
← →
ANB © (2005-10-03 10:37) [11]
> функцианальности языка transact sql
- быть такого не могет. Язык, конечно, слегка птичий, но все, что нужно программисту в нем реализовано. Выкладывай, что не получалось на нем написать - подскажем как это сделать на T-SQL.
Имхо - такая связка - жуткий геморр. И очень неустойчиво будет.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c