ATL COM 和 ADO
2006-07-22 22:53:03 来源:WEB开发网核心提示: [object,uuid(EB78D558-E071-4D25-80DD-41FD3519934E),dual,helpstring("ISearch Interface"),pointer_default(unique)]interface ISearch : IDi
[
object,
uuid(EB78D558-E071-4D25-80DD-41FD3519934E),
dual,
helpstring("ISearch Interface"),
pointer_default(unique)
]
interface ISearch : IDispatch
{
[id(1), helpstring("method SearchCust")]
HRESULT SearchCust([in] BSTR rcustid,
[out,retval] _Recordset **ptr);
};
构建ATL组件现在我们已经准备好编写SearchCust方法的代码来获得相应的讯息,我们需要做如下这些事情:
- 初始化COM库
- 连接到数据源
- 执行SQL命令
- 返回Recordset对象
- 反初始化COM库
初始化COM库:
CoInitialize(NULL);
为了连接数据源,首先要声明一个Connection对象指针传递组件类的ID:
_ConnectionPtr conptr(__uuidof(Connection));
现在调用Open函数来家里与数据源的连接:
conptr->Open(_T("Provider=SQLOLEDB.1;
Data Source=SQLServer;
Initial Catalog=Customer"),
_T("user1"),
_T(""),
adOpenUnspecified);
Open函数由四个参数。第一个参数是连接字符串,包含提供者的名字和要连接的SQL Server的名字。 第二个参数和第三个参数是用来建立连接的用户名和密码。 第四个参数是使用的指针的类型 _T宏确保了字符串的UNICODE的兼容性。为了执行SQL命令,通过传递一个Command对象的CLSID来建立一个Command对象指针:_CommandPtr cmd(__uuidof(Command));
设置Command对象的ActiveConnection 属性为打开的Connection对象的指针:
- ››Adobe推出用于iOS设备创建PDF文件的应用
- ››COM 组件多层聚合嵌套原理
- ››Adobe发布Acrobat X 不支持苹果iOS系统
- ››Adobe公司展示plenoptic lenses技术
- ››Adobe:移动版Flash实测性能高于HTML5视频
- ››Adobe更新Web版Photoshop 无需注册即可使用
- ››Adobe Flash 10.1被曝支持Android效果不佳
- ››Adobe Flash 10.1 for Android 版本被曝工作状况不...
- ››Adobe CEO:不担心iPhone和iPad封Flash技术
- ››Adobe为iPad、Android平台发布免费Photoshop
- ››Adobe发布Android版Flash 10.1 Beta 3
- ››ADO VC++ Extensions入门
更多精彩
赞助商链接