Mister X wrote:
>
> Hi,
>
> developing in MFC/Visual Studio 6 I've encountered a strange problem
> in last version of ODBC Driver (actually 07_01_0005). Each time a SQL
> error occours, the istructions TRY/ CATCH doesn't report the error
> string: the CDBException ' member m_strError is empty
> Follows an example:
>
> // MFC C++ Code
>
> CDatabase myDB;
>
> [.....] // Init and Open database...
>
> //create a table with a WRONG SQL statement:
>
> CString sSQLStatement="CREATE TABLE Dummy ( int DummyID, )";
> // The statement is WRONG beacuse the comma
> after the last column definition.
>
> //Executes The statement and catch errors:
>
> TRY
> {
> myDB.ExecuteSQL(sSQLStatement);
> }
> CATCH(CDBException, e)
> {
> AfxMessageBox(e->m_strError);
> }
> END_CATCH
>
> Well, with driver version v06-50-0000 i got the string "Error
> creating the table; ERROR: parser: parse error at or near ")", that
> it is the correct error message from the back-end.
> Instead, with Version 07_01_0005 of the ODBC driver, the string
> e->m_strError is always empty, and the member m_nRetCode of
> CDBException class is = -1;
Probably the cause is the same as another bug I recently
found. I'm asking pgsql-obdc ML why the error handling was
changed.
regards,
Hiroshi Inoue