From: | Nick Gorham <nick(at)lurcher(dot)org> |
---|---|
To: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: ODBC : SQLGetData question |
Date: | 2014-05-14 08:32:20 |
Message-ID: | 53732A14.1000001@lurcher.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
On 14/05/14 08:46, Dev Kumkar wrote:
> On Wed, May 14, 2014 at 12:51 PM, Dev Kumkar <devdas(dot)kumkar(at)gmail(dot)com
> <mailto:devdas(dot)kumkar(at)gmail(dot)com>> wrote:
>
> On Wed, May 14, 2014 at 12:10 PM, aihtdikh <aihtdikh(at)gmail(dot)com
> <mailto:aihtdikh(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | aihtdikh | 2014-05-14 08:47:25 | Re: ODBC : SQLGetData question |
Previous Message | Dev Kumkar | 2014-05-14 07:46:59 | Re: ODBC : SQLGetData question |