应用程序可以指定在调用 SQLExecDirect 或 SQLExecute 时,将偏移量添加到绑定参数缓冲区地址和相应的长度/指示器缓冲区地址。 这些添加的结果决定了这些操作中使用的地址。
绑定偏移量允许应用程序更改绑定,而无需为以前绑定的参数调用 SQLBindParameter 。 调用 SQLBindParameter 以重新绑定参数会更改缓冲区地址和长度/指示器指针。 另一方面,使用偏移量进行重新绑定时,只需在现有绑定参数缓冲区地址和长度/指示器缓冲区地址上添加偏移量。 使用偏移量时,绑定是应用程序缓冲区布局方式的“模板”,应用程序可以通过更改偏移量将此“模板”移动到不同内存区域。 可以随时指定新的偏移量,这些偏移量始终会添加到初始绑定的值中。
若要指定绑定偏移量,应用程序会将 SQL_ATTR_PARAM_BIND_OFFSET_PTR 语句属性设置为 SQLINTEGER 缓冲区的地址。 在应用程序调用使用绑定参数的函数之前,它会在此缓冲区中以字节为单位放置偏移量,前提是参数缓冲区地址和长度/指示器缓冲区地址都不是 0,并且绑定参数在 SQL 语句中。 地址与偏移量之和必须是一个有效地址。 (这意味着,偏移量和要添加偏移量的地址中的一个或两个都可能无效,只要它们的和是一个有效地址即可。)
注释
ODBC 2.x 驱动程序不支持绑定偏移量。