vc++操作存储过程

1.进行ADO编程的必备步骤:引入msado15.dll

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")//避免与文件的结束符号混淆,将EOF改为adoEOF

当然要记得在所有#include之后加入啊

2.也是必备的:初始化Com库

::CoInitialize(NULL);///初始化COM库

3. 建立数据库连接

_ConnectionPtr m_pConnection;//连接数据库的Com智能指针,可以自动Release ^_^
m_pConnection.CreateInstance("ADODB.Connection");//建立实例返回HRESULT 所以最好if一下看看成功否

4.连接数据库

m_pConnection->Open("Driver={SQL Server};Server=localhost;Database=Northwind;UID=sa;PWD=11111111","","",adModeUnknown);
最好用Try的,可以捕获错误啊,例如

try
{
m_pConnection->Open("Driver={SQL Server};Server=localhost;Database=Northwind;UID=sa;PWD=11111111","","",adModeUnknown);

  .........//其他数据库操作
}
catch(_com_error e)
{
  //处理错误吧
}

5.创建执行存储过程的命令对象

_CommandPtr m_pCommand;//还是智能指针
m_pCommand.CreateInstance("ADODB.Command");//实例 

 

6.创建存储过程参数对象

//输入参数 Member
_ParameterPtr pParamMember;
pParamMember.CreateInstance("ADODB.Parameter");
pParamMember->Name="member"; //所用存储过程参数名称
pParamMember->Type=adChar; //参数类型
pParamMember->Size=32; //参数大小
pParamMember->Direction=adParamInput;//表明是输入参数
pParamMember->Value=_variant_t(member);
m_pCommand->Parameters->Append(pParamMember);
//返回值
_ParameterPtr pParamOk;
pParamOk.CreateInstance("ADODB.Parameter");
pParamOk->Name="welcome"; //参数2名称
pParamOk->Type=adChar; //字符串
pParamOk->Size=70; //大小为70个字节
pParamOk->Direction=adParamOutput; //声明是输出参数
m_pCommand->Parameters->Append(pParamOk);

 

7.执行存储过程
m_pCommand->ActiveConnection=m_pConnection;
m_pCommand->CommandText="GetWelcome"; //存储过程名称
m_pCommand->CommandType=adCmdStoredProc;//表示为存储过程adCmdStoredProc
m_pCommand->Execute(NULL, NULL, adCmdStoredProc);
retu=(char*)_bstr_t(pParamOk->Value);
pParamMember->Release();

转载于:https://www.cnblogs.com/vsola/p/3251801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值