Re: ODBC : SQLGetData question

Поиск
Список
Период
Сортировка
От Nick Gorham
Тема Re: ODBC : SQLGetData question
Дата
Msg-id 53732A14.1000001@lurcher.org
обсуждение исходный текст
Ответ на Re: ODBC : SQLGetData question  (Dev Kumkar <devdas.kumkar@gmail.com>)
Список pgsql-odbc
On 14/05/14 08:46, Dev Kumkar wrote:
On Wed, May 14, 2014 at 12:51 PM, Dev Kumkar <devdas.kumkar@gmail.com> wrote:
On Wed, May 14, 2014 at 12:10 PM, aihtdikh <aihtdikh@gmail.com> wrote:
Hi,

SQLGetData expects the buffer length parameter to be a SQLLEN variable, which is a signed type.
SQL_NULL_DATA is defined as -1, which is 4294967295 if you interpret it as an unsigned type.

Your my_buff_len variable is being set to SQL_NULL_DATA correctly, but you are looking at it wrong.
Change it to be the correct type, and it will work as you expect.

Regards,
Harun

Thanks for the reply.

my_buff_len is defined as SQLLEN
      SQLLEN  my_buff_len;


      SQLGetData(my_stmt, my_col_no, SQL_C_CHAR, &my_max_len, 0, &my_buff_len)

       if (my_buff_len == SQL_NULL_DATA)
       {
            // Doesn't come here
       }

What is being missed above?

Regards...

if ((int)my_buff_len == SQL_NULL_DATA)
       {
            // will come here
       }

The above casting solves the problem, please review?

Regards...

Just to suggest.

I would guess the application expects sizeof( SQLLEN ) == 8 and the driver sizeof( SQLLEN ) == 4

--
Nick Gorham

В списке pgsql-odbc по дате отправления:

Предыдущее
От: Dev Kumkar
Дата:
Сообщение: Re: ODBC : SQLGetData question
Следующее
От: aihtdikh
Дата:
Сообщение: Re: ODBC : SQLGetData question