Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
Господа профессионалы, укажите на возможную ошибку. Необходимо из под MS Access 97 запустить хранимую процедуру с выходным параметром типа nchar, при попытке выполнения на строке cmd.Parameters.Append prm возвращается ошибка 3708 (Parameter object is improperly defined). Та же ситуация и при использовании входного параметра такого же типа. Код функции: Function test() As Integer Dim cn As New ADODB.Connection Dim cmd As New ADODB.Command Dim prm As ADODB.Parameter cn.CommandTimeout = 100 cn.Provider = "sqloledb" provStr = c2sSrvConnStr cn.Open provStr Set cmd.ActiveConnection = cn cmd.CommandText = "test" cmd.CommandType = adCmdStoredProc Set prm = cmd.CreateParameter("str", adVarChar, adParamOutput) cmd.Parameters.Append prm cmd.Execute cn.Close End Function Код процедуры: CREATE PROCEDURE test @str nchar(10) output AS set @str = 'Ответ' return GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 12:48 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
Я сталкивался с подобной штукой, правда в VB, решил проблему тем, что указал размер Varchar Set prm = cmd.CreateParameter("str", adVarChar, 20, adParamOutput) P.S. Мог ошибиться с позицией, но я думаю суть понятна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 12:59 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
Попробуй так: Set prm = cmd.CreateParameter("@str", adVarChar, adParamInputOutput) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:01 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
А вот то, что заметил Genady я проглядел - и это тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:03 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
Ответ Genady к сожалению не помог при выполнении Set param1 = cmd.CreateParameter("str", adVarChar, 20, adParamOutput) выдается код ошибки 3001, сообщение типа (Arguments are of the wrong type, are out of acceptable range) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:17 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
Вот я ж говорил, что не помню в какой позиции задавать, вот взял и заставил лезть смотреть, вот так надо Set prm = cmd.CreateParameter("str", adVarChar, adParamOutput, 20) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:31 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:38 |
|
||
|
Выполнение хранимой процедуры с параметром OUTPUT
|
|||
|---|---|---|---|
|
#18+
Да, кстати имя параметра должно быть с "собачкой", т. е. Set prm = cmd.CreateParameter("@str", adVarChar, adParamOutput, 20) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 13:41 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32009567&tid=1826189]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 258ms |
| total: | 432ms |

| 0 / 0 |
