// SYNOPSIS STOP
*/
-#ifdef __GNUG__
-#pragma implementation "listdb.h"
-#endif
-
#include "wx/wxprec.h"
#ifdef __BORLANDC__
/*
* This function will return the exact string(s) from the database engine
- * indicating all error conditions which have just occured during the
+ * indicating all error conditions which have just occurred during the
* last call to the database engine.
*
* This demo uses the returned string by displaying it in a wxMessageBox. The
{
wxString tStr;
tStr.Printf(wxT("Unable to open the table '%s'."), tableName.c_str());
- wxMessageBox(tStr, wxT("ODBC Error..."));
+ wxMessageBox(wxDbLogExtendedErrorMsg(tStr.c_str(),lookup->GetDb(),__TFILE__,__LINE__),
+ wxT("ODBC Error..."),wxOK | wxICON_EXCLAMATION);
+
Close();
return;
}
lookup->SetWhereClause(where);
if (!lookup->Query())
{
- wxMessageBox(wxT("ODBC error during Query()"), wxT("ODBC Error..."));
+ wxString tStr;
+ tStr = wxT("ODBC error during Query()\n\n");
+ wxMessageBox(wxDbLogExtendedErrorMsg(tStr.c_str(),lookup->GetDb(),__TFILE__,__LINE__),
+ wxT("ODBC Error..."),wxOK | wxICON_EXCLAMATION);
+
Close();
return;
}
// If displaying 2 columns, determine the maximum length of column1
int maxColLen;
- if (maxLenCol1)
+ if (maxLenCol1 > 0)
maxColLen = col1Len = maxLenCol1; // user passed in max col length for column 1
else
{
+ // NOTE: Some databases (Firebird/Interbase) cannot handle the "fn" and "MAX()" functions
+
maxColLen = LOOKUP_COL_LEN;
if (wxStrlen(dispCol2))
{
}
if (!lookup2->QueryBySqlStmt(q))
{
- wxMessageBox(wxT("ODBC error during QueryBySqlStmt()"),wxT("ODBC Error..."));
+ wxString tStr;
+ tStr = wxT("ODBC error during QueryBySqlStmt()\n\n");
+ wxMessageBox(wxDbLogExtendedErrorMsg(tStr.c_str(),lookup2->GetDb(),__TFILE__,__LINE__),
+ wxT("ODBC Error..."),wxOK | wxICON_EXCLAMATION);
+
Close();
return;
}
if (lookup2->GetNext())
maxColLen = col1Len = wxAtoi(lookup2->lookupCol1);
else
- wxMessageBox(wxT("ODBC error during GetNext()"),wxT("ODBC Error..."));
+ {
+ wxString tStr;
+ tStr = wxT("ODBC error during GetNext()\n\n");
+ wxMessageBox(wxDbLogExtendedErrorMsg(tStr.c_str(),lookup2->GetDb(),__TFILE__,__LINE__),
+ wxT("ODBC Error..."),wxOK | wxICON_EXCLAMATION);
+ }
}
}
// Query the actual record set
- if (selectStmt && wxStrlen(selectStmt)) // Query by sql stmt passed in
+ if ( (const char*) selectStmt && wxStrlen(selectStmt)) // Query by sql stmt passed in
{
if (!lookup2->QueryBySqlStmt(selectStmt))
{
- wxMessageBox(wxT("ODBC error during QueryBySqlStmt()"),wxT("ODBC Error..."));
+ wxString tStr;
+ tStr = wxT("ODBC error during QueryBySqlStmt()\n\n");
+ wxMessageBox(wxDbLogExtendedErrorMsg(tStr.c_str(),lookup2->GetDb(),__TFILE__,__LINE__),
+ wxT("ODBC Error..."),wxOK | wxICON_EXCLAMATION);
+
Close();
return;
}
lookup2->SetWhereClause(where);
if (!lookup2->Query(false, distinctValues))
{
- wxMessageBox(wxT("ODBC error during Query()"),wxT("ODBC Error..."));
+ wxString tStr;
+ tStr = wxT("ODBC error during Query()\n\n");
+ wxMessageBox(wxDbLogExtendedErrorMsg(tStr.c_str(),lookup2->GetDb(),__TFILE__,__LINE__),
+ wxT("ODBC Error..."),wxOK | wxICON_EXCLAMATION);
+
Close();
return;
}
}
-}; // ClookUpDlg::OnCommand
+} // ClookUpDlg::OnCommand
// *********************************** listdb.cpp **********************************