Megosztás:


Paraméterkötés elmozdulásai

Az alkalmazás megadhatja, hogy az SQLExecDirect vagy az SQLExecute meghívásakor eltolás legyen hozzáadva a kötött paraméterpuffercímekhez és a megfelelő hossz/mutató puffercímekhez. A hozzáadások eredménye határozza meg az ezekben a műveletekben használt címeket.

A kötéseltolások lehetővé teszik, hogy az alkalmazás módosítsa a kötéseket anélkül, hogy meghívja az SQLBindParametert a korábban kötött paraméterekhez. Az SQLBindParameter meghívása egy paraméter újrakötésére megváltoztatja a puffer címét és a hossz/mutató mutatót. Az eltolással való újrakötés viszont egyszerűen hozzáad egy eltolást a meglévő kötött paraméter puffercíméhez és a hossz/mutató puffercíméhez. Az eltolások használatakor a kötések az alkalmazáspufferek lefektetésének "sablonjai", és az eltolás módosításával az alkalmazás áthelyezheti ezt a "sablont" a memória különböző területeire. Egy új eltolás bármikor megadható, és mindig hozzá lesz adva az eredetileg kötött értékekhez.

Kötéseltolás megadásához az alkalmazás beállítja a SQL_ATTR_PARAM_BIND_OFFSET_PTR utasítás attribútumot egy SQLINTEGER-puffer címére. Mielőtt az alkalmazás meghív egy olyan függvényt, amely a kötéseket használja, bájtokban eltolást helyez el ebben a pufferben, mindaddig, amíg sem a paraméterpuffer címe, sem a hossz/mutató puffercíme nem 0, és a kötött paraméter szerepel az SQL-utasításban. A cím és az eltolás összegének érvényes címnek kell lennie. Ez azt jelenti, hogy az eltolás és/vagy a cím, amelyhez az eltolás hozzáadódik, lehet érvénytelen, amennyiben az összegük érvényes cím.

Megjegyzés:

Az ODBC 2.x illesztőprogramok nem támogatják a kötéseltolásokat.