ADO и SQL server
От: Чиполино  
Дата: 06.06.03 09:57
Оценка:
Доброго времени суток All.

Может подскажет кто, как почикать траблу.
Есть stored procedure



CREATE PROCEDURE test @p0 int, @p1 int, @p2 varcar(10), @p3 int
AS
insert TestTable ( myID, f1, f2, f3 ) values ( @p0, @p1, @p2, @p3 )
select * from TestTable
GO



Код где я ее зову выглядит так:



pCon.CreateInstance( __uuidof(Connection) );

_bstr_t strCnn("Provider=sqloledb;Data Source=MyServer;Initial Catalog=pubs;Trusted_Connection = Yes");
pCon->ConnectionTimeout = 5;
pCon->Open(strCnn,"sa","",adConnectUnspecified);

pCmd.CreateInstance(__uuidof(Command));
pCmd->ActiveConnection = pCon;
pCmd->CommandType = adCmdStoredProc;

pCmd->CommandText = "test";
pCmd->CommandTimeout = 5;

_ParameterPtr pPar;
pPar.CreateInstance(__uuidof(Parameter));

VARIANT vP[4];

vP[0].vt = VT_I4;
vP[0].lVal = 1;
pPar = pCmd->CreateParameter( "p0", adInteger, adParamInput, sizeof(int), vP[0] );
pCmd->Parameters->Append( pPar );

vP[1].vt = VT_I4;
vP[1].lVal = 1;
pPar = pCmd->CreateParameter( "p1", adInteger, adParamInput, sizeof(int), vP[1] );
pCmd->Parameters->Append( pPar );

vP[2].vt = VT_BSTR;
_bstr_t t2 = "что нибудь";
vP[2].bstrVal = t2;
pPar = pCmd->CreateParameter( "p2", adBSTR, adParamInput, sizeof(BSTR), vP[2] );
pCmd->Parameters->Append( pPar );

vP[3].vt = VT_I4;
vP[3].lVal = 1;
pPar = pCmd->CreateParameter( "p3", adInteger, adParamInput, sizeof(int), vP[3] );
pCmd->Parameters->Append( pPar );

pRst = pCmd->Execute(NULL,NULL,NULL);


В результате я получаю рекордсет в состоянии closed
Подскажите, что делать.

В подобном случае, при возврате вместо select параметра stored procedure,
если присваиваю параметру значение до insert то я его получаю, если после,
то дулю с маком. Вроде бы все должно работать, но не работает.
Если кто знает ответ буду просить хелпа.

Bye.
Re: ADO и SQL server
От: Merle Австрия http://rsdn.ru
Дата: 06.06.03 10:00
Оценка: 2 (1)
Здравствуйте, Чиполино, Вы писали:

Ч> Вроде бы все должно работать, но не работает.

Ч>Если кто знает ответ буду просить хелпа.

Оно?
http://www.rsdn.ru/?forum/?mid=120628
Автор: Merle
Дата: 25.10.02


P. S. SET NOCOUNT ON в начало процедуры поставь...
Мы уже победили, просто это еще не так заметно...
Re[2]: ADO и SQL server
От: Чиполино  
Дата: 06.06.03 17:53
Оценка:
Здравствуйте, Merle,

Спасибо.
Re[3]: ADO и SQL server
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 07.06.03 11:27
Оценка:
Здравствуйте, Чиполино, Вы писали:

Ч>Здравствуйте, Merle,


Ч>Спасибо.


Можно было еще pRst->Next вызвать для получения твоего ненаглядного рекордсета.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.