Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров? / 6 сообщений из 6, страница 1 из 1
18.02.2017, 10:13
    #39407024
aleks2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров?
1. Вызываем из Access
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
  With New ADODB.Command
    .CommandText = "dbo.alean_SavePricesToMaster"
    .CommandType = adCmdStoredProc
    .CommandTimeout = 120
    .ActiveConnection = CurrentProject.Connection
    .Parameters.Append .CreateParameter("@PackageID", adInteger, adParamInput, , id.value)
    .Parameters.Append .CreateParameter("@DeleteOnly", adBoolean, adParamInput, , True)
    .Execute Options:=adExecuteNoRecords
  End With



2. В профайлере наблюдаем (значения правильные)
Код: sql
1.
exec dbo.alean_SavePricesToMaster 22294338,1



3. Почему при вызове не используются имена параметров?
А если я хочу только ВТОРОЙ передать?
...
Рейтинг: 0 / 0
18.02.2017, 13:44
    #39407106
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров?
aleks2,

может нужно не просто значения закидывать, а
Код: vbnet
1.
exec dbo.alean_SavePricesToMaster @PackageID=22294338, @DeleteOnly=1


хоть и описаны выше, но может требуют явного имени?
...
Рейтинг: 0 / 0
18.02.2017, 13:56
    #39407112
Odess
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров?
aleks23. Почему при вызове не используются имена параметров?
А если я хочу только ВТОРОЙ передать?
Так задумал Майкрософт.
Только второй передать не получится. Можно не передавать те, которые в конце, если они объявлены по дефолту.
...
Рейтинг: 0 / 0
18.02.2017, 14:27
    #39407128
Игортан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров?
aleks23. Почему при вызове не используются имена параметров?
А если я хочу только ВТОРОЙ передать?

А я никогда не использую
Код: vbnet
1.
.Parameters.Append .CreateParameter...


в хранимке прописаны входные параметры. Какие нужно, со значением по умолчанию.
После, в хранимке, идет проверка на значение и соответствующие действия
и потому всегда параметры передаю по имени, нет необходимости соблюдения очередности и пр.
и засылаю строку на сервер образца, как писал. При чем параметры и их количество собираю на ходу.
Что то типа(но это на recordset)
Код: vbnet
1.
2.
3.
4.
    rst.CursorLocation = adUseClient
    rst.Open "Exec MainAll_sub " & strSQL, MyConnect, adOpenKeyset, adLockOptimistic

    Set Me.Form.Recordset = rst
...
Рейтинг: 0 / 0
19.02.2017, 09:49
    #39407381
NamedParameters,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров?
Odessaleks23. Почему при вызове не используются имена параметров?
А если я хочу только ВТОРОЙ передать?
Так задумал Майкрософт.
Только второй передать не получится. Можно не передавать те, которые в конце, если они объявлены по дефолту.
брехня :)
Код: vbnet
1.
   cmd.NamedParameters = True
...
Рейтинг: 0 / 0
19.02.2017, 09:57
    #39407383
NamedParameters,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров?
NamedParameters,Odessпропущено...

Так задумал Майкрософт.
Только второй передать не получится. Можно не передавать те, которые в конце, если они объявлены по дефолту.
брехня :)
Точнее, МС с АДО 2.6 "одумался". Так будет правильней :)
авторThe NamedParameters property, new to ADO 2.6, sets or returns a boolean that determines whether or not parameter names should be passed to the provider.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вызов процедуры с параметрами - какого хрена не передаются при вызове имена параметров? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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