vc中存储过程运行总出错,拜托各位大侠帮我看看

su27su35 2003-06-04 04:32:26
存储过程如下:
CREATE PROCEDURE moveindex
@index int ,
@Uid varchar (50) output
AS
select @Uid=Uid from poirecord
where POI_num=@index
GO


vc中的调用MSSQL存储过程的相关代码:

m_pCommand.CreateInstance("ADODB.Command");
m_pParameter.CreateInstance("ADODB.Parameter");


//输入参数
m_pParameter->Name="index"; //存储过程的参数1
m_pParameter->Type=adInteger; //整型
m_pParameter->Size=2;
m_pParameter->Direction=adParamInput; //表明是输入参数
CString tstr;
tstr.Format("%d",4290);
m_pParameter->Value=_variant_t(tstr);
m_pCommand->Parameters->Append(m_pParameter);


//返回值
_ParameterPtr pParamOk;
pParamOk.CreateInstance("ADODB.Parameter");
pParamOk->Name="Uid"; //参数2名称
pParamOk->Type=adChar; //字符串
pParamOk->Size=50; //大小为20个字节
pParamOk->Direction=adParamOutput; //声明是输出参数
m_pCommand->Parameters->Append(pParamOk);


m_pCommand->ActiveConnection = m_pConnection;
m_pCommand->CommandText="moveindex"; //存储过程的名字
m_pCommand->CommandType=adCmdStoredProc;//表示为存储过程adCmdStoredProc


//执行,获得结果
m_pCommand->Execute(NULL, NULL, adCmdStoredProc);
//将值返回
CString str=(char*)_bstr_t(pParamOk->Value);





到了倒数第二步
m_pCommand->Execute(NULL, NULL, adCmdStoredProc);就出错,可能是什么原因
谢谢了
...全文
7 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
CrazyFor 2003-06-04
TRY:

CREATE PROCEDURE moveindex
@index int ,
@Uid varchar (50) output
AS
if @index is null
select top 1 @Uid=Uid from poirecord
where POI_num is null
else
select top 1 @Uid=Uid from poirecord
where POI_num=@index
GO

回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2003-06-04 04:32
社区公告
暂无公告