WEB开发网
开发学院软件开发VC VC中使用ADO调用存储过程实现方法 阅读

VC中使用ADO调用存储过程实现方法

 2008-11-12 19:26:39 来源:WEB开发网   
核心提示: 下面就是调用了pRecordset =pCmd->Execute(NULL,NULL,adCmdStoredProc);然后取那些return值阿,output值阿什么的这里有一个区别,VC中使用ADO调用存储过程实现方法(4),就是用这种办法可以有三种办法来取这些返回值和outpu

下面就是调用了

pRecordset = pCmd->Execute(NULL,NULL,adCmdStoredProc);

然后取那些return值阿,output值阿什么的

这里有一个区别,就是用这种办法

可以有三种办法来取这些返回值和output参数

VretVal = pCmd->Parameters->GetItem(_bstr_t("Return"))->Value;

VretVal = pCmd->Parameters->GetItem(short(0))->Value;

VretVal = retParam->Value;

都是一样的

6. 关于Refresh

关于这个函数,作用是

Command  对象去重新索取要操作的存储过程所有有关参数的信息,并且清空在refresh之前获取的参数信息。 

所以一但调用它以后,就可以获取SP的那些信息,那些参数的信息,可以通过pCmd->Parameters->Item[_variant_t(_bstr_t("@pin1") )]->Value=_variant_t(3);  这样的方式来设置参数

如果要使用Parameter的办法的话,就不要用refresh了,事实上,如果先把这些参数的值设置好了,如 inParam2->Value = _variant_t(_T("DD1"));,一旦refresh后,这些参数就没有意义了。

7.关于pConn->CursorLocation =adUseClient;

设置这个东西,如果不设置游标为adUseClient,那么我在取return和output参数的时候,必须在我把记录集关闭以后才能取,就是说,必须先取记录集,然后关闭它,最后再取return和output参数,如果我在关闭记录集之前就取return和output的值,那么就不能取到正确的值,设成adUseClient就ok了,另外有一点就是,Execute 方法返回的游标继承该设置。Recordset 将自动从与之关联的连接中继承该设置。我把pConn设成adUseClient,那么最后,我的记录集也是adUseClient的了。

上一页  1 2 3 4 

Tags:VC 使用 ADO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接