Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Параметры SP в ADO (VC++) / 8 сообщений из 8, страница 1 из 1
23.03.2004, 15:24
    #32453261
panza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
Имееся ХП вида " SP_testProc
@param1 int,
@param2 varchar(10),
@param3 smalldatetime "

Вопрос - как в АДО (из VC++)вызвать эту ХП.
Киньте кусок кода с примером,а то во всех книгах
где разбираются примеры с вызовами из АДО рассматривается
только типа "Select * From MyTable"
?
...
Рейтинг: 0 / 0
23.03.2004, 15:33
    #32453283
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
Тут есть код\r
\r
/topic/68050
...
Рейтинг: 0 / 0
23.03.2004, 16:10
    #32453383
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
Сделай поиск в этой ветке на "_CommandPtr"
...
Рейтинг: 0 / 0
23.03.2004, 16:12
    #32453392
panza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
да,если вх.параметр один и он(самый простой случай) INT-овый
этот пример подходит

Ну,а если их несколько и они varchar/CString ?
...
Рейтинг: 0 / 0
23.03.2004, 17:23
    #32453609
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
1 вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
pCmd->CommandText =  "reptq3" ;

pPrm = pCmd->CreateParameter( "@lolimit" , adCurrency, adParamInput,  0 ,  10 );
pCmd->Parameters->Append(pPrm);
pPrm = pCmd->CreateParameter( "@hilimit" , adCurrency, adParamInput,  0 ,  30 );
pCmd->Parameters->Append(pPrm);
pPrm = pCmd->CreateParameter( "@type" ,    adChar,     adParamInput, 12 ,  "business" );
pCmd->Parameters->Append(pPrm);

_RecordsetPtr pRs = pCmd->Execute(NULL, NULL, adCmdStoredProc);
        
_bstr_t bstrAUID;
while (!pRs->adoEOF) {
  bstrAUID = pRs->Fields->GetItem( "title_id" )->Value;
  printf( "%s\n" , (LPCSTR) bstrAUID);
  pRs->MoveNext();
}
pRs->Close();


2 вариант

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
pCmd->CommandType = adCmdText;
pCmd->CommandText =  "exec reptq3 @lolimit=10 , @hilimit= 30 , @type='business'";

_RecordsetPtr pRs = pCmd->Execute(NULL, NULL, adCmdText);
        
_bstr_t bstrAUID;
while (!pRs->adoEOF) {
  bstrAUID = pRs->Fields->GetItem( "title_id" )->Value;
  printf( "%s\n" , (LPCSTR) bstrAUID);
  pRs->MoveNext();
}
pRs->Close();
...
Рейтинг: 0 / 0
23.03.2004, 17:58
    #32453698
panza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
А с float-ом как быть?
Ну,во 2-м варианте наверное так
pCmd->CommandText = "exec reptq3 @lolimit=10.05 , @hilimit=30,@type='business'";??

а в 1-ом ??

pPrm = pCmd->CreateParameter("@hilimit", adFloat , adParamInput, 0, 10.05 );
...
Рейтинг: 0 / 0
23.03.2004, 18:26
    #32453743
ZrenBy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
Код: plaintext
adDouble
...
Рейтинг: 0 / 0
23.03.2004, 18:32
    #32453748
panza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры SP в ADO (VC++)
to ZrenBy

Спасибо за помощь!
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Параметры SP в ADO (VC++) / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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