Thread: Fwd: What is the problem with this code?

Fwd: What is the problem with this code?

From
Igor Korot
Date:
Does anybody have an idea why the code below fails?

Thank you.


---------- Forwarded message ---------
From: Igor Korot <ikorot01@gmail.com>
Date: Thu, Oct 18, 2018 at 11:49 PM
Subject: What is the problem with this code?
To: PostgreSQL ODBC list <pgsql-odbc@postgresql.org>


Hi, ALL,

[code]
    std::wstring query1 = L"SHOW log_directory";
    std::wstring query2 = L"SHOW log_filename";
    SQLWCHAR *qry1 = new SQLWCHAR[query1.length() + 2];
    SQLWCHAR *qry2 = new SQLWCHAR[query2.length() + 2];
    memset( qry1, '\0', query1.length() + 2 );
    memset( qry2, '\0', query2.length() + 2 );
    uc_to_str_cpy( qry1, query1 );
    uc_to_str_cpy( qry2, query2 );
    RETCODE ret = SQLAllocHandle( SQL_HANDLE_STMT, m_hdbc, &m_hstmt );
    if( ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO )
    {
        ret = SQLPrepare( m_hstmt, qry1, SQL_NTS );
        if( ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO )
        {
            GetErrorMessage( errorMsg, 1 );
            result = 1;
        }
        else
        {
            ret = SQLDescribeCol( m_hstmt, 1, columnName, 256,
&columnNameLen, &columnDataType, &columnDataSize, &columnDataDigits,
&columnDataNullable );
            if( ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO )
            {
                GetErrorMessage( errorMsg, 1 );
                result = 1;
            }
[/code]

The SQLDescribeCol() call fails with the error invalid column number".

Does anybody have any idea?

Thank you.


Re: What is the problem with this code?

From
Thiemo Kellner
Date:
In your place I would double check whether the table structure on the  
database is what you expect. Without knowing the code of mentioned  
function there seem only two numbers in the call. It quite misty in  
the crystal fortune telling ball to me.

Quoting Igor Korot <ikorot01@gmail.com>:

> Does anybody have an idea why the code below fails?
>
> Thank you.
>
>
> ---------- Forwarded message ---------
> From: Igor Korot <ikorot01@gmail.com>
> Date: Thu, Oct 18, 2018 at 11:49 PM
> Subject: What is the problem with this code?
> To: PostgreSQL ODBC list <pgsql-odbc@postgresql.org>
>
>
> Hi, ALL,
>
> [code]
>     std::wstring query1 = L"SHOW log_directory";
>     std::wstring query2 = L"SHOW log_filename";
>     SQLWCHAR *qry1 = new SQLWCHAR[query1.length() + 2];
>     SQLWCHAR *qry2 = new SQLWCHAR[query2.length() + 2];
>     memset( qry1, '\0', query1.length() + 2 );
>     memset( qry2, '\0', query2.length() + 2 );
>     uc_to_str_cpy( qry1, query1 );
>     uc_to_str_cpy( qry2, query2 );
>     RETCODE ret = SQLAllocHandle( SQL_HANDLE_STMT, m_hdbc, &m_hstmt );
>     if( ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO )
>     {
>         ret = SQLPrepare( m_hstmt, qry1, SQL_NTS );
>         if( ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO )
>         {
>             GetErrorMessage( errorMsg, 1 );
>             result = 1;
>         }
>         else
>         {
>             ret = SQLDescribeCol( m_hstmt, 1, columnName, 256,
> &columnNameLen, &columnDataType, &columnDataSize, &columnDataDigits,
> &columnDataNullable );
>             if( ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO )
>             {
>                 GetErrorMessage( errorMsg, 1 );
>                 result = 1;
>             }
> [/code]
>
> The SQLDescribeCol() call fails with the error invalid column number".
>
> Does anybody have any idea?
>
> Thank you.