Share via


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 创建 CDataSourceCSession 对象,一起表示与 OLE DB 使用者数据源之间的连接

在类上使用 db_source 时,该 CSession 对象将成为该类的成员

在方法中使用 db_source 时,注入的代码将在方法范围内执行,并将对象 CSession 创建为局部变量

db_source 向类或方法中添加数据源属性。 它与 db_command 结合使用(将 db_sourcename 参数作为其 source_name 参数)。

使用者特性提供程序将此特性应用到某个类时,编译器会将该类重命名为 _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 {};

要求

特性上下文
适用于 classstruct、member、method、local
可重复
必需的特性
无效的特性

有关特性上下文的详细信息,请参见 特性上下文

另请参阅

OLE DB 使用者特性