在提供程序中设置属性

查找所需属性的属性组和属性 ID。 有关更多信息,请参见“OLE DB Programmer's Reference”(《OLE DB 程序员参考》)中的 OLE DB 属性

在由向导生成的提供程序代码中,查找与属性组相对应的属性映射。 属性组的名称通常与对象的名称相对应。 命令和行集合属性可在命令或行集合中找到;数据源和初始化属性可在数据源对象中找到。

在属性映射中,添加 PROPERTY_INFO_ENTRY_EX 宏。 PROPERTY_INFO_ENTRY_EX 使用四个参数:

  • 与属性相对应的属性 ID。 必须将头七个字符 ("DBPROP_") 从属性名的前面移除。 例如,如果要添加 DBPROP_MAXROWS,将 MAXROWS 作为第一个元素传递。 如果这是自定义属性,传递完整的 GUID 名(例如,DBMYPROP_MYPROPERTY)。

  • 属性的 Variant 类型(在《OLE DB 程序员参考》中的 OLE DB 属性中)。 输入与数据类型相对应的 VT_ 类型(如 VT_BOOLVT_I2)。

  • 指示属性是否可读和可写及其所属的组的标志。 例如,以下代码指示属于行集合组的读/写属性:

    DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
    
  • 属性的基值。 例如,这对 Boolean 类型可能是 VARIANT_FALSE,对 integer 类型可能是零。 除非被更改,属性将具有该值。

    备注

    一些属性被连接或“链接”到其他属性,如书签或更新。当使用者将一个属性设置为 true 时,另一个属性也可以设置。OLE DB 提供程序模板通过 CUtlProps::OnPropertyChanged 方法支持此操作。

Microsoft OLE DB 提供程序忽略的属性

Microsoft OLE DB 提供程序忽略下面的 OLE DB 属性:

  • DBPROP_MAXROWS 仅适用于只读提供程序(即,DBPROP_IRowsetChange 和 DBPROP_IRowsetUpdate 为假的提供程序);否则不支持此属性。

  • 忽略 DBPROP_MAXPENDINGROWS;提供程序指定自己的限制。

  • 忽略 DBPROP_MAXOPENROWS;提供程序指定自己的限制。

  • 忽略 DBPROP_CANHOLDROWS;提供程序指定自己的限制。

请参见

概念

使用 OLE DB 提供程序模板