Compartir a través de


Cómo utilizar el enlace de conjuntos de filas (ODBC)

Para utilizar el enlace de modo de columna

  1. Para cada columna enlazada, haga lo siguiente:

    • Asigne una matriz de R (o más) búferes de columna para almacenar los valores de datos, donde R es el número de filas del conjunto de filas.

    • De modo opcional, asigne una matriz de R (o más) búferes de columna para almacenar las longitudes de los datos.

    • Llame a SQLBindCol para enlazar las matrices de valores de datos y de longitud de datos de columna a la columna del conjunto de filas.

  2. Llame a SQLSetStmtAttr para establecer los atributos siguientes:

    • Establezca SQL_ATTR_ROW_ARRAY_SIZE en el número de filas del conjunto de filas (R).

    • Establezca SQL_ATTR_ROW_BIND_TYPE en SQL_BIND_BY_COLUMN.

    • Establezca el atributo SQL_ATTR_ROWS FETCHED_PTR para que señale a una variable SQLUINTEGER que incluya el número de filas capturadas.

    • Establezca SQL_ATTR_ROW_STATUS_PTR para que señale a una matriz[R] de variables SQLUSSMALLINT que incluya indicadores de estado de filas.

  3. Ejecute la instrucción.

  4. Cada llamada a SQLFetch o a SQLFetchScroll recupera R filas y transfiere los datos a las columnas enlazadas.

Para utilizar el enlace de modo de fila

  1. Asigne una matriz [R] de estructuras, donde R es el número de filas del conjunto de filas. La estructura tiene un elemento para cada columna y cada elemento tiene dos partes:

    • La primera parte es una variable del tipo de datos adecuado donde almacenar los datos de columnas.

    • La segunda parte es una variable SQLINTEGER donde almacenar el indicador de estado de columnas.

  2. Llame a SQLSetStmtAttr para establecer los atributos siguientes:

    • Establezca SQL_ATTR_ROW_ARRAY_SIZE en el número de filas del conjunto de filas (R).

    • Establezca SQL_ATTR_ROW_BIND_TYPE en el tamaño de la estructura asignada en el paso 1.

    • Establezca el atributo SQL_ATTR_ROWS_FETCHED_PTR para que señale a una variable SQLUINTEGER que incluya el número de filas capturadas.

    • Establezca SQL_ATTR_PARAMS_STATUS_PTR para que señale a una matriz[R] de variables SQLUSSMALLINT que incluya indicadores de estado de filas.

  3. Para cada columna del conjunto de resultados, llame a SQLBindCol para que el valor de datos y puntero de longitud de datos de la columna señalen a sus variables en el primer elemento de la matriz de estructuras asignada en el paso 1.

  4. Ejecute la instrucción.

  5. Cada llamada a SQLFetch o a SQLFetchScroll recupera R filas y transfiere los datos a las columnas enlazadas.