powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с ADODB.Command
6 сообщений из 6, страница 1 из 1
Проблема с ADODB.Command
    #32006513
Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызываю хр. процедуру через ADODB.Command.
Процедура возвращает Recordset и код возврата.
Примерный код на VB:
Dim l_cmdTest As ADODB.Command
Dim l_rstTest As ADODB.Recordset

Set l_cmdTest = New ADODB.Command

l_cmdTest.ActiveConnection = g_cnnConfigDB ' соединение же открыто
l_cmdTest.CommandType = adCmdStoredProc
l_cmdTest.CommandText = "GetFalseFileTime"

l_cmdTest.Parameters.Append l_cmdTest.CreateParameter("@RET_VAL", adInteger, adParamReturnValue)
l_cmdTest.Parameters.Append l_cmdTest.CreateParameter("@nTagSet", adInteger, adParamInput, 4, nTagSet)

Далее
Если вызываю так:

Set rstTest = cmdTest.Execute

то в обект l_cmdTest не попадает возвращаемое значение @RET_VAL. (l_cmdTest("@RET_VAL").Value = Empty)
Если по другому:

cmdTest.Execute

то возвращаемый параметр попадает в объект Command, но тогда невозможно достать возвращаемый Recordset.

Подскажите, как получить все данные из хр. процедуры без повторного ее вызова.
...
Рейтинг: 0 / 0
Проблема с ADODB.Command
    #32006521
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для adParamReturnValue имя указывать не надо.
И более правильно исползовать метод Open - что-то типа:
rstTest.Open i_cmdTest, , adOpenStatic, adLockOptimistic, adAsyncExecute
...
Рейтинг: 0 / 0
Проблема с ADODB.Command
    #32006522
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон. Прогнал. Последний параметр в данном случае должен быть adAsyncFetchNonBlocking или adAsyncFetch или ничего
...
Рейтинг: 0 / 0
Проблема с ADODB.Command
    #32006523
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А слона то я и не приметил! А как тв ловишь параметр? Лови так: l_cmdTest.Parameters(0). Кстати с именем параметра я погорясился - можно и с именем. Тогда так: l_cmdTest.Parameters("@RET_VAL")
...
Рейтинг: 0 / 0
Проблема с ADODB.Command
    #32006525
andy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот кусок работающего кода на JS.

var cmd = new ActiveXObject( "ADODB.Command" );
cmd.CommandText = "calculate_alphabet";
cmd.CommandType = adCmdStoredProc;
cmd.activeConnection = getAdoObj().getConn();
var param1 = cmd.CreateParameter( "value", adVarWChar, adParamInputOutput, 200, this.sTmpString );
cmd.Parameters.Append( param1 );
var param2 = cmd.CreateParameter( "prev_value", adVarWChar, adParamInputOutput, 200, null );
cmd.Parameters.Append( param2 );
var param3 = cmd.CreateParameter( "equal_string", adVarWChar, adParamInputOutput, 200, null );
cmd.Parameters.Append( param3 );
var param4 = cmd.CreateParameter( "string_start", adVarWChar, adParamInputOutput, 200, null );
cmd.Parameters.Append( param4 );
cmd.execute();

this.sPrevValue = param2.value;
this.equalString = param3.value;
this.sTmpString = getString( param4.value );
...
Рейтинг: 0 / 0
Проблема с ADODB.Command
    #32006532
Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел, большое спасибо. Тема закрыта.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблема с ADODB.Command
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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