Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как полуить параметр OUTPUT из хранимой процедуры? / 2 сообщений из 2, страница 1 из 1
15.09.2004, 17:17:16
    #32696214
Dims
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как полуить параметр OUTPUT из хранимой процедуры?
Какой-то глюк! Я пмшу на VBA процедуры, "заворачивающие" хранимые процедуры в SQL-сервере.

В одном проекте я написал для это так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub TakeID(TypeID As Long, ByRef NewID As Long)
    Dim cat As New ADOX.Catalog
    Dim cmd As ADODB.Command
    
    Set cat.ActiveConnection = CurrentProject.Connection
    Set cmd = cat.Procedures("TakeID").Command
    cmd.Parameters.Refresh
    cmd.Parameters("Type") = TypeID
    cmd.Execute
    NewID = cmd.Parameters("NewID")
    
    cat.Procedures
End Sub

В другом проекте я написал по аналогии

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Function SorcTouch(Nam As String, Path As String, Params As String, TypID As SorcTypEnum) As Long
    Dim cat As New ADOX.Catalog
    Dim cmd As ADODB.Command
    
    Set cat.ActiveConnection = CurrentProject.Connection
    Set cmd = cat.Procedures("SorcTouch").Command
    
    With cmd
        .Parameters.Refresh
        .Parameters("ID") =  0 
        .Parameters("Nam") = Nam
        .Parameters("Path") = Path
        .Parameters("Params") = Params
        .Parameters("TypID") = TypID
        .Execute
        SorcTouch = .Parameters("ID")
    End With
End Function

И тут оказалось, что процедура по имени "SorcTouch" не находится, а надо искать её по имени "SorcTouch;1". Но если найти её по этому имени, то уже не работает член Command, говорит, что нет такого интерфейса. И да, читаю в справке, действительно SQLOLEDB не поддерживает член Command объекта Procedure.

Я ничего не понимаю. Почему тогда в другом проекте работало? Я ничего не менял, тот же сервер, тот же аксес. Ничччего не понимаю!

Димс.
...
Рейтинг: 0 / 0
15.09.2004, 17:19:11
    #32696221
Dims
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как полуить параметр OUTPUT из хранимой процедуры?
Пардон, в первом варианте лишняя строка cat.Procedures - это я справку хотел вызвать. Кстати, справка по ADO перестала вызываться!

Такое впечатление, что ночью приходил Билл Гейтс и переделал всё, чтоб работало согласно инструкции...

Димс.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как полуить параметр OUTPUT из хранимой процедуры? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]