Смещения привязки параметров

Приложение может указать, что смещение добавляется к привязанным адресам буфера параметров и соответствующим адресам буфера длины или индикатора при вызове SQLExecDirect или SQLExecute . Результат этих дополнений определяет адреса, используемые в этих операциях.

Смещения привязки позволяют приложению изменять привязки без вызова SQLBindParameter для ранее привязанных параметров. Вызов SQLBindParameter для повторной привязки параметра изменяет адрес буфера и указатель длины или индикатора. Повторная привязка с смещением, с другой стороны, просто добавляет смещение к существующему адресу буфера привязанного параметра и адресу буфера длины или индикатора. При использовании смещения привязки представляют собой "шаблон" того, как буферы приложений размещаются, и приложение может переместить этот "шаблон" в разные области памяти, изменив смещение. Новое смещение можно указать в любое время и всегда добавляется в исходные привязанные значения.

Чтобы указать смещение привязки, приложение задает атрибут инструкции SQL_ATTR_PARAM_BIND_OFFSET_PTR адресу буфера SQLINTEGER. Прежде чем приложение вызывает функцию, использующую привязки, она помещает смещение в байты в этом буфере, если ни адрес буфера параметров, ни адрес буфера длины или индикатора равен 0, а связанный параметр находится в инструкции SQL. Сумма адреса и смещения должна быть допустимым адресом. (Это означает, что смещение и адрес, к которому добавляется смещение, может быть недопустимым, если сумма является допустимым адресом.)

Примечание.

Смещения привязки не поддерживаются ODBC 2.драйверы x .