调用数据库存储过程出错,高手请进。。
我用SQL server定义的存储过程:
create proc messageAndReturnMaxid
@strContent varchar(150),
@maxId int output
as
begin
insert into message(content, msgtime) values (@strContent, GETDATE())
select @maxId=Max(mid) from message
end
我有Vc里的调用代码如下:
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
pConn->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;Server=(local);Uid=sa;Pwd=123;Database=HospitalDBS";
pConn->Open("", "", "", adConnectUnspecified);
int maxid=-1;
VARIANT varMaxid;
varMaxid.vt=VT_I2;
varMaxid.iVal=maxid;
_CommandPtr pCmd(__uuidof(Command));
_ParameterPtr pPar=NULL;//(__uuidof(Parameters))
pCmd->ActiveConnection=pConn;
pCmd->CommandType=adCmdStoredProc;
pCmd->CommandText="messageAndReturnMaxid";
pPar=pCmd->CreateParameter("content", adInteger, adParamOutput, sizeof(int), varMaxid);
pCmd->Parameters->Append(pPar);
pPar->Value=varMaxid;
pCmd->Execute(NULL, NULL, adCmdStoredProc);
// pConn->Execute("messageAndReturnMaxid", )
pConn->Close();
// pRstRet->Close();
// pRstRet.Release();
pConn.Release();
CoUninitialize();
各位高手帮我看看,我急用啊,是不是我调用存储过程时有什么错误?请尽量说得详细点。多谢啊。