db_source
创建与数据源的连接。
语法
[ db_source(db_source, name, hresult) ]
参数
db_source
用于连接数据源的连接字符串。 有关连接字符串的格式,请参阅 Microsoft 数据访问组件 (MDAC) SDK 中的连接字符串和数据链接。
name
(可选)在类上使用 db_source 时,“name”是已应用 db_source 属性的数据源对象的实例(请参见示例 1)。 在方法实现中使用 db_source 内联时,“name”是方法的局部变量,可用于访问数据源(请参阅示例 2)。 将此“name”传递至 db_command
的“source_name”参数,以通过命令关联数据源。
hresult
(可选)标识将接收此数据库命令的 HRESULT 的变量。 如果该变量不存在,属性将自动插入。
注解
db_source 创建 CDataSource 和 CSession 对象,一起表示与 OLE DB 使用者数据源之间的连接。
在类上使用 db_source 时,该 CSession
对象将成为该类的成员。
在方法中使用 db_source 时,注入的代码将在方法范围内执行,并将对象 CSession
创建为局部变量。
db_source 向类或方法中添加数据源属性。 它与(将db_source名称参数作为其source_name参数)一起使用db_command
。
使用者特性提供程序将此特性应用到某个类时,编译器会将该类重命名为 _YourClassNameAccessor,其中 YourClassName 是为类命名的名称,且编译器还将创建一个派生自 _YourClassNameAccessor、名为 YourClassName 的类。 将在类视图中看到这两个类。
有关应用程序中使用此特性的示例,请参阅 MultiRead。
示例
此示例在类上调用 db_source,与使用 Northwind 数据库的数据源 ds
创建连接。 ds
是数据源的句柄,可在 CMyCommand
类内部使用。
// db_source_1.cpp
// compile with: /LD
#include <atlbase.h>
#include <atlplus.h>
#include <atldbcli.h>
[
db_source(L"my_connection_string", name="ds"),
db_command(L"select * from Products")
]
class CMyCommand {};
要求
特性上下文 | 值 |
---|---|
适用于 | class 、struct 、member、method、local |
可重复 | 否 |
必需的特性 | 无 |
无效的特性 | 无 |
有关特性上下文的详细信息,请参见 特性上下文。