Dela via


Uppskjutna fält

Värdena för uppskjutna fält används inte när de anges, men drivrutinen sparar variablernas adresser för en uppskjuten effekt. För en programparameterbeskrivning använder drivrutinen innehållet i variablerna vid tidpunkten för anropet till SQLExecDirect eller SQLExecute. För en programradsbeskrivning använder drivrutinen innehållet i variablerna vid tidpunkten för hämtningen.

Följande är uppskjutna fält:

  • Fälten SQL_DESC_DATA_PTR och SQL_DESC_INDICATOR_PTR i en beskrivningspost.

  • Fältet SQL_DESC_OCTET_LENGTH_PTR i en applikationsbeskrivningspost.

  • När det gäller en hämtning med flera rader, fälten i SQL_DESC_ARRAY_STATUS_PTR och SQL_DESC_ROWS_PROCESSED_PTR i en beskrivningsrubrik.

När en deskriptor allokeras har de uppskjutna fälten för varje deskriptorpost inledningsvis ett null-värde. Innebörden av null-värdet är följande:

  • Om SQL_DESC_ARRAY_STATUS_PTR har ett null-värde returnerar inte en multirow-hämtning den här komponenten i diagnostikinformationen per rad.

  • Om SQL_DESC_DATA_PTR har ett null-värde är posten obunden.

  • Om fältet SQL_DESC_OCTET_LENGTH_PTR för en ARD har ett null-värde returnerar drivrutinen inte längdinformation för kolumnen.

  • Om fältet SQL_DESC_OCTET_LENGTH_PTR i ett APD har ett null-värde och parametern är en teckensträng förutsätter drivrutinen att strängen är null-avslutad. För dynamiska utdataparametrar förhindrar ett null-värde i det här fältet att drivrutinen returnerar längdinformation. (Om fältet SQL_DESC_TYPE inte anger någon parameter för teckensträng ignoreras fältet SQL_DESC_OCTET_LENGTH_PTR.)

Programmet får inte frigöra eller ta bort variabler som används för uppskjutna fält mellan den tidpunkt då det associerar dem med fälten och den tid då drivrutinen läser eller skriver dem.