Compartir a través de


Búferes diferidos

Un búfer diferido es aquel cuyo valor se usa en algún momento después de especificarlo en una llamada de función. Por ejemplo, se usa SQLBindParameter para asociar, o enlazar, un búfer de datos con un parámetro en una instrucción SQL. Especifique el número del parámetro y pase la dirección, la longitud de bytes y el tipo del búfer. El controlador guarda esta información, pero no examina el contenido del búfer. Más adelante, al ejecutar la instrucción , el controlador recupera la información y la usa para recuperar los datos del parámetro y enviarlos al origen de datos. Por lo tanto, la entrada de datos en el búfer es diferida. Dado que los búferes diferidos se especifican en una función y se usan en otra, se trata de un error de programación de la aplicación para liberar un búfer diferido mientras el controlador espera que exista. Para obtener más información, consulte Asignación y liberación de búferes, más adelante en esta sección.

Tipos de búfer diferidos

Tanto los búferes de entrada como los de salida se pueden diferir. La siguiente tabla resume los usos de los búferes diferidos. Tenga en cuenta que los búferes diferidos vinculados a columnas de conjuntos de resultados se especifican con SQLBindCol, y los búferes diferidos vinculados a parámetros de instrucciones SQL se especifican con SQLBindParameter.

Uso del búfer Tipo Especificado con Usado por
Envío de datos para parámetros de entrada Entrada diferida SQLBindParameter SQLExecute
SQLExecDirect
Envío de datos para actualizar o insertar una fila en un conjunto de resultados Entrada diferida SQLBindCol SQLSetPos
SQLBulkOperations
Devolver datos para los parámetros de salida y entrada/salida Salida diferida SQLBindParameter SQLExecute
SQLExecDirect
Devolver datos del conjunto de resultados Salida diferida SQLBindCol SQLFetch
SQLFetchScroll SQLSetPos