参数绑定偏移

当调用 SQLExecDirectSQLExecute 时,应用程序可以指定向绑定的参数缓冲区地址和相应的长度/标记缓冲区地址添加偏移量。 这些添加的结果决定了这些操作中使用的地址。

绑定偏移量允许应用程序更改绑定,而无需为以前绑定的参数调用 SQLBindParameter。 调用 SQLBindParameter 以重新绑定数据会更改缓冲区地址和长度/标记指针。 另一方面,使用偏移量重新绑定只是向现有绑定参数缓冲区地址和长度/标记缓冲区地址添加偏移量。 使用偏移量时,绑定是应用程序缓冲区布局方式的“模板”,应用程序可以通过更改偏移量将此“模板”移动到不同内存区域。 可以随时指定新的偏移量,并且该偏移量始终会添加到原始绑定的值。

若要指定绑定偏移量,应用程序会将 SQL_ATTR_PARAM_BIND_OFFSET_PTR 语句属性设置为 SQLINTEGER 缓冲区的地址。 在应用程序调用使用绑定的函数之前,只要参数缓冲区地址和长度/标记缓冲区地址都不是 0,且绑定的参数位于 SQL 语句中年,它就会以字节为单位在此缓冲区中放置偏移量。 地址和偏移量的总和必须是有效的地址。 (这意味着偏移量和添加偏移量的地址中的一个或两个都可以是无效的,只要它们的和是有效的地址。)

注意

ODBC 2.x 驱动程序不支持绑定偏移量。