Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Ett program kan ange att en förskjutning läggs till i bundna parameterbuffertadresser och motsvarande längd-/indikatorbuffertadresser när SQLExecDirect eller SQLExecute anropas. Resultatet av dessa tillägg avgör de adresser som används i dessa åtgärder.
Med bindningsförskjutningar kan ett program ändra bindningar utan att anropa SQLBindParameter för tidigare bundna parametrar. Ett anrop till SQLBindParameter för att binda om en parameter ändrar buffertadressen och längd-/indikatorpekaren. Ombindning med en förskjutning lägger helt enkelt till en förskjutning till den befintliga bundna parameterbuffertadressen samt längd- och indikatorbuffertadressen. När förskjutningar används är bindningarna en "mall" för hur programbuffertarna är utformade och programmet kan flytta den här "mallen" till olika minnesområden genom att ändra förskjutningen. En ny förskjutning kan anges när som helst och läggs alltid till i de ursprungligen bundna värdena.
Om du vill ange en bindningsförskjutning anger programmet SQL_ATTR_PARAM_BIND_OFFSET_PTR-instruktionsattributet till adressen för en SQLINTEGER-buffert. Innan programmet anropar en funktion som använder bindningsparametrarna placerar det en offset i byte i den här bufferten, så länge varken parameterbuffertens adress eller längd-/indikatorbuffertens adress är 0 och den bundna parametern finns i SQL-instruktionen. Summan av adressen och förskjutningen måste vara en giltig adress. (Det innebär att antingen, eller både, förskjutningen och adressen som förskjutningen adderas till kan vara ogiltiga, så länge summan är en giltig adress.)
Anmärkning
Bindningsförskjutningar stöds inte av ODBC 2. x drivrutiner.