Результат, возвращаемый SP

Basele
Дата: 16.10.2000 09:50:24
Может ли хранимая процедура вернуть как требуемый набор записей, так и значение в выходном параметре?
Я обрабатываю sp на Дельфи или на VB и получаю, что если процедура возвращает набор записей, то выходные
параметры ничего не получают. А если процедура не возвращает набора записей, то все в порядке.

Выполняя туже процедуру в Query Analizer выводятся как выходные параметры, так и набор записей?
febob
Дата: 17.10.2000 08:01:25
Сталкивался с данной проблемой, когда хотел получить и таблицу и сумму по определенному столбцу.
Оказывается это проблема Дельфей, в этой ситуации они не схватывают возвращаемые параметры.
Извените это баг Дельфей. С VB не знаю не работаю.
SergSuper
Дата: 17.10.2000 09:11:27
Вообще-то это не совсем баг. Просто такая концепция БДЕ, не очень удачная.

Дело в том что параметры процедур непосредственно не возращаются. Query Analizer их не выдаст, если явно не написать. Что бы их узнать БДЕ как бы дописывает селект возвращаемых параметров. Суть в том, что можно работать только с одними селектом, с самым первым. Отсюда и проблеммы.

С приветом Сергей
AnatolyS
Дата: 17.10.2000 13:48:16
Работать можно не с одни селектом. ADO поддерживает .NextRecordset - забавная вещь, позволяющая сосредоточить в одной sp несколько выборок.
Что касается VB+ADO, то там проблем с параметрами нет, не забыть, главное, указать Direction для выходного параметра.
Ольга
Дата: 18.10.2000 09:52:59
Насколько я знаю, Дельфи до сих пор использует dblibrary, а OLE DB игнорирует как класс :((
alexeyvg
Дата: 18.10.2000 10:33:00
БДЕ наверное, игнорирует, но в Дельфи можно использовать ActiveX компоненты, следовательно, и ADO.
SergSuper
Дата: 18.10.2000 10:48:55
BDE может работать как напрямую, так и через ODBC. В конечном итоге всё равно все запросы идут через DB Library.

В Delphi5 появилась новая вкладка - компоненты ADO. Т.е. не нужно явно вставлять ActiveX компоненты, а работать примерно как с BDE, но только без него.
Ольга
Дата: 18.10.2000 11:11:29
Опять я наврала. В 5-м Дельфи, оказывается, появились специальные ADO-компоненты для доступа к данным. Интересно, насколько они сохранили функциональность обычных BDE-компонент?
AnatolyS
Дата: 19.10.2000 11:02:15
Что касается DB-Library, то
1. New features introduced in SQL Server 7.0 are not supported for DB-Library applications.
2. Microsoft поддерживает этот интерфейс для совместимости.
Т.ч. утверждать, что все идет через DB-Library не верно.
Dmitry
Дата: 30.10.2000 13:26:20
Я вот недавно столкнулся точно с такой же проблемой на ASP. (использовался VBScript). Так что судя по всему это вовсе не проблема Дэльфей, а ADO. Помучившись пришел к выводу что лучше всего в этой ситуации использовать метод описанный AnatolyS. Т.е. NextRecordset. Т.е. просто делаешь подряд два селекта, в один из которых кладешь одно число - выходной параметр