connection для выполнения sp

AnS1
Дата: 01.03.2001 17:07:48
Проблема
в ADO можно использовать connection для непосредственного выполнения хр. процедуры.
К примеру, cnn.yourSP "parameter", rs, где yourSP - имя хр. пр, "parameter" - передаваемый параметр (ы - через ,),
rs - возвращаемый RecordSet.
Всё нормально работает, если у процедуры имеются параметры. А вот если их нет? Если пр-ра не возвращает rs, то тоже нормально -
cnn.yourSP и ok, а если возвращает, то такой синтаксис cnn.yourSP , rs - выдает ошибку "Type name is invalid"
Fompro
Дата: 01.03.2001 21:17:45
По-моему в конференции уже об этом упоминалось, посмотрите, стоит ли
SET NOCOUNT ON в теле процедуры.
AnS1
Дата: 02.03.2001 07:09:48
не получается
процедура такая
CREATE PROCEDURE utility_clsProdGroup_GetList
AS
set nocount on
select prod_group_id, prod_group_name from clsProdGroup order by prod_group_name

на клиенте
Dim ProdGroupGetList as ADODB.Recordset
Set ProdGroupGetList = New ADODB.Recordset
ProdGroupGetList.CursorLocation = adUseClient
mCN.utility_clsProdGroup_GetList , ProdGroupGetList

результат - вышеназванная ошибка
Павел
Дата: 02.03.2001 18:02:24
Пошли на Visual Basic (просто продублируй свой вопрос). Там и позарубаемся. Дело в том, что, на мой взгляд, эта конференция посвящена СЕРВЕРУ. А ADO - это абсолютно клиентский компонент, причем, как я выяснил, существуют кардинальные различия его преминения в VB и Delphi. Т.к. код вопроса VB - туда нам и дорога. Заодно оживим мертвую конфу.
DmitryGolubev
Дата: 02.03.2001 18:12:33
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]

По моему VARYING как раз для таких целей ( сам не пробовал )
DmitryGolubev
Дата: 02.03.2001 18:18:28
Попробуй так

sSQL = "MySP "& Param1 &", "& Param2 &""
Set rsTest = Connection.Execute( sSQL )

В ASP такое проходила
AnS1
Дата: 03.03.2001 14:17:19
спасибо всем
по очереди
1. на VB конференцию может и пошлю - но как-то я в них не особенно того - данная конференция,
всё же, самая профессиональная из имеющихся в России по БДs и связанным с ними вопросами (ADO и проч.)
2. VARYING - Applies only to cursor parameters, для случаев, когда параметром служит курсор
3. Динамически сгенеренна строчка - это конечно пройдет, но вот хочется поцивильному )
alexeyvg
Дата: 05.03.2001 11:36:36
Поцивильному - это быстрее и надёжнее, т.е. вариант 3. Динамически сгенеренная строчка.
А "mCN.utility_clsProdGroup_GetList , ProdGroupGetList" это для студентов - для демонстрации знаний адо.
AnS1
Дата: 05.03.2001 17:16:50
не хотелось бы ввязываться в дискуссию по поводу "правильности"
кода, но замечу, что есть определенная разница между ODBC, где
данная техника - единственно возможная, и ADO.
Что касается знания ADO - увы мне... Ежели бы знал, то, наверно,
и не спрашивал бы.
alexeyvg
Дата: 05.03.2001 19:08:19
Я давал совет исходя из >3-х летней практики работы связки ADO <-> MS SQL Server.