Share via


Asistente para consumidores OLE DB ATL

Actualización: noviembre 2007

Este asistente configura una clase de consumidores OLE DB junto con los enlaces de datos necesarios para el acceso al origen de datos especificado a través del proveedor OLE DB especificado.

Nota:

El asistente exige, para poder escribir nombres en los campos Class y Archivo .h, hacer clic en el botón Origen de datos y seleccionar un origen.

  • Origen de datos
    El botón Origen de datos le permite configurar el origen de datos especificado mediante el proveedor OLE DB especificado. Cuando haga clic en este botón aparecerá el cuadro de diálogo Propiedades de vínculo de datos. Para obtener más información acerca de cómo generar cadenas de conexión y del cuadro de diálogo Propiedades de vínculo de datos, vea Información general sobre la API de vínculos de datos en la documentación de Windows SDK.

    Nota:

    En versiones anteriores, al presionar la tecla MAYÚS y hacer clic en el botón Origen de datos se abría un cuadro de diálogo Abrir archivo en el que podía seleccionar un archivo de vínculo de datos (.udl). Esta funcionalidad ya no se admite.

    El cuadro de diálogo tiene cuatro fichas:

    • Ficha Proveedor

    • Ficha Conexión

    • Ficha Avanzadas

    • Ficha Todo

  • Class
    Tras seleccionar un origen de datos, este cuadro se rellena con un nombre de clase predeterminado, basado en la tabla o el procedimiento almacenado que esté seleccionado (vea Seleccionar un origen de datos, más abajo). Puede cambiar el nombre de la clase.

  • Archivo .H
    Tras seleccionar un origen de datos, este cuadro se rellena con un nombre de la clase de encabezado predeterminada, basado en la tabla o el procedimiento almacenado que esté seleccionado (vea Seleccionar un origen de datos, más abajo). Puede cambiar el nombre del archivo de encabezado o seleccionar un archivo ya existente.

  • Con atributos
    Esta opción especifica si el asistente crea clases de consumidores mediante declaraciones de plantilla o mediante atributos. Si selecciona esta opción, el asistente usa atributos en lugar de declaraciones de plantilla (el valor predeterminado). Si anula la selección de esta opción, el asistente usa declaraciones de plantilla en lugar de atributos.

    • Si selecciona un Tipo consumidor de Tabla, el asistente usa los atributos db_source y db_table para crear las declaraciones de la tabla y los descriptores de acceso de la tabla, y utiliza db_column para crear el mapa de columnas, por ejemplo:

      // Inject table class and table accessor class declarations
      [
          db_source("<initialization_string>"),
          db_table("dbo.Orders")
      ]
      ...
      // Column map
          [ db_column(1, status=m_dwOrderIDStatus,         length=m_dwOrderIDLength) ] LONG m_OrderID;
          [ db_column(2, status=m_dwCustomerIDStatus,         length=m_dwCustomerIDLength) ] TCHAR m_CustomerID[6];
          ...
      

      en lugar de utilizar la clase de plantilla CTable para declarar la clase de la tabla y los descriptores de acceso a la tabla, y las macros BEGIN_COLUMN_MAP y END_COLUMN_MAP para crear el mapa de columnas, por ejemplo:

      // Table accessor class
      class COrdersAccessor;
      // Table class
      class COrders : public CTable<CAccessor<COrdersAccessor> >;
      ...
      // Column map
      BEGIN_COLUMN_MAP(COrderDetailsAccessor)
          COLUMN_ENTRY_LENGTH_STATUS(1, m_OrderID,         m_dwOrderIDLength, m_dwOrderIDStatus)
          COLUMN_ENTRY_LENGTH_STATUS(2, m_CustomerID,         m_dwCustomerIDLength, m_dwCustomerIDStatus)
          ...
      END_COLUMN_MAP()
      
    • Si selecciona un Tipo de consumidor de Comando, el asistente utiliza los atributos db_source y db_command, y utiliza db_column para crear el mapa de columnas, por ejemplo:

      [
          db_source("<initialization_string>"),
          db_command("SQL_command")
      ]
      ...
      // Column map using db_column is the same as for consumer type of 'table'
      

      en lugar de utilizar las declaraciones de clase de comando y descriptores de acceso para comando en el archivo .h de la clase comando, por ejemplo:

      Command accessor class:
      class CListOrdersAccessor;
      Command class:
      class CListOrders : public CCommand<CAccessor<CListOrdersAccessor> >;
      ...
      // Column map using BEGIN_COLUMN_MAP ... END_COLUMN_MAP is the same as
      // for consumer type of 'table'
      

    Para obtener más información, vea Basic Mechanics of Attributes.

  • Tipo
    Seleccione uno de los botones de opción siguientes para especificar si la clase de consumidores se deriva de CTable o de CCommand (predeterminado).

    • Tabla
      Seleccione esta opción si desea usar CTable o db_table para crear las declaraciones de la tabla y la clase de descriptor de acceso de la tabla.

    • Comando
      Seleccione esta opción si desea usar CCommand o db_command para crear las declaraciones del comando y la clase de descriptor de acceso del comando. Éste es el valor predeterminado.

  • Compatibilidad
    Active las casillas para especificar las clases de actualizaciones que se aceptan en el consumidor (el valor predeterminado es ninguna). Cada una de las siguientes define DBPROP_IRowsetChange y las entradas apropiadas de DBPROP_UPDATABILITY en el mapa de definición de propiedades.

    • Cambiar
      Especifica que el consumidor acepta actualizaciones de datos de fila en el conjunto de filas.

    • Insertar
      Especifica que el consumidor acepta la inserción de filas en el conjunto de filas.

    • Eliminar
      Especifica que el consumidor acepta la eliminación de filas del conjunto de filas.

Vea también

Tareas

Agregar un consumidor OLE DB ATL

Conceptos

Agregar funcionalidad con los Asistentes para código

Referencia

Cadenas de conexión y vínculos de datos (OLE DB)