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();