Hi, Adrian, On Sat, Mar 7, 2026 at 3:29 PM Adrian Klaver <[email protected]> wrote: > > On 3/7/26 12:46 PM, Igor Korot wrote: > > Hi, David, > > > > On Sat, Mar 7, 2026 at 12:03 PM David G. Johnston > > <[email protected] <mailto:[email protected]>> wrote: > > > > On Sat, Mar 7, 2026 at 12:58 PM Igor Korot <[email protected] > > <mailto:[email protected]>> wrote: > > > > So I started looking for a way to return SQL_NO_DATA > > on that 4th column... > > > > > > Doesn't "No Data" refer to the result set as a whole, not individual > > columns? I'd assume NULL is detected some other way. > > > > > > No, I think it’s column based. > > 1) My knowledge of ODBC is limited. > > 2) This: > > https://learn.microsoft.com/en-us/sql/odbc/reference/develop-app/return-codes-odbc?view=sql-server-ver17 > > "SQL_NO_DATA No more data was available. The application calls > SQLGetDiagRec or SQLGetDiagField to retrieve additional information. One > or more driver-defined status records in class 02xxx may be returned. > Note: In ODBC 2.x, this return code was named SQL_NO_DATA_FOUND." > > would seem to indicate that David Johnston is correct:
>From the SQLGetData() ODBC documentation (https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetdata-function?view=sql-server-ver17): [quote] When it returns the last part of the data, SQLGetData returns SQL_SUCCESS. Neither SQL_NO_TOTAL nor zero can be returned on the last valid call to retrieve data from a column, because the application would then have no way of knowing how much of the data in the application buffer is valid. If SQLGetData is called after this, it returns SQL_NO_DATA. For more information, see the next section, "Retrieving Data with SQLGetData." [/quote] However it looks like the driver does not behave as expected. It keeps returning SQL_SUCCESS continuously... Or am I misinterpreting the docs? Thank you. > > 'Doesn't "No Data" refer to the result set as a whole, not individual > columns? I'd assume NULL is detected some other way.' > > > The call to SQLGetData() returns data in one column. > > > > And as stated it successfully retrieves empty array for column 3 and > > moves on. > > > > Thank you. > > > > > > David J. > > > > > -- > Adrian Klaver > [email protected]
