]> git.saurik.com Git - wxWidgets.git/blobdiff - demos/dbbrowse/browsedb.cpp
re-indent sources
[wxWidgets.git] / demos / dbbrowse / browsedb.cpp
index 3ee7463cfcfac8577b30973adf345659ad1ba6e4..dd09716aed4a6d9ea812d4651da9948b60a1ee35 100644 (file)
 //-- all #ifdefs that the whole Project needs. ------------------------------
 //---------------------------------------------------------------------------
 #ifdef __GNUG__
- #pragma implementation
- #pragma interface
+#pragma implementation
+#pragma interface
 #endif
 //---------------------------------------------------------------------------
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 //---------------------------------------------------------------------------
 #ifdef __BORLANDC__
- #pragma hdrstop
+#pragma hdrstop
 #endif
 //---------------------------------------------------------------------------
 #ifndef WX_PRECOMP
- #include "wx/wx.h"
+#include "wx/wx.h"
 #endif
 //---------------------------------------------------------------------------
 #include <wx/dbtable.h>
@@ -38,65 +38,65 @@ extern DbList* WXDLLEXPORT PtrBegDbList;    /* from db.cpp, used in getting back
 //---------------------------------------------------------------------------
 char *GetExtendedDBErrorMsg(char *ErrFile, int ErrLine)
 {
- static wxString msg;
- wxString tStr;
- if (ErrFile || ErrLine)
- {
-  msg += "File: ";
-  msg += ErrFile;
-  msg += "   Line: ";
-  tStr.Printf("%d",ErrLine);
-  msg += tStr.GetData();
+  static wxString msg;
+  wxString tStr;
+  if (ErrFile || ErrLine)
+    {
+      msg += "File: ";
+      msg += ErrFile;
+      msg += "   Line: ";
+      tStr.Printf("%d",ErrLine);
+      msg += tStr.GetData();
+      // msg += "\n";
+    }
+  msg.Append ("\nODBC errors:\n");
   // msg += "\n";
- }
- msg.Append ("\nODBC errors:\n");
- // msg += "\n";
- /* Scan through each database connection displaying
-  * any ODBC errors that have occured. */
- for (DbList *pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext)
- {
-  // Skip over any free connections
-  if (pDbList->Free)
-   continue;
-  // Display errors for this connection
-  for (int i = 0; i < DB_MAX_ERROR_HISTORY; i++)
-  {
-   if (pDbList->PtrDb->errorList[i])
-   {
-    msg.Append(pDbList->PtrDb->errorList[i]);
-    if (strcmp(pDbList->PtrDb->errorList[i],"") != 0)
-     msg.Append("\n");
-   }
-  }
- }
- msg += "\n";
- return (char*) (const char*) msg;
+  /* Scan through each database connection displaying
+   * any ODBC errors that have occured. */
+  for (DbList *pDbList = PtrBegDbList; pDbList; pDbList = pDbList->PtrNext)
+    {
+      // Skip over any free connections
+      if (pDbList->Free)
+       continue;
+      // Display errors for this connection
+      for (int i = 0; i < DB_MAX_ERROR_HISTORY; i++)
+       {
+         if (pDbList->PtrDb->errorList[i])
+           {
+             msg.Append(pDbList->PtrDb->errorList[i]);
+             if (strcmp(pDbList->PtrDb->errorList[i],"") != 0)
+               msg.Append("\n");
+           }
+       }
+    }
+  msg += "\n";
+  return (char*) (const char*) msg;
 }  // GetExtendedDBErrorMsg
 //////////////////////////////////////////////////////////////////////////////////
 // BJO 20000115 : New stuff : dialog to ask for username and password
 //////////////////////////////////////////////////////////////////////////////////
 class UserDialog : public wxDialog
 {
- public:
+public:
   UserDialog(wxWindow* parent);
   virtual ~UserDialog();
   void OnOK(wxCommandEvent& event);
   wxString s_UserName, s_Password;
-
- private:
+  
+private:
   wxButton *m_OK;
   wxStaticText *m_Label1, *m_Label2;
   wxTextCtrl *m_UserName, *m_Password;
-
-
+  
+  
   DECLARE_EVENT_TABLE()
-};
+    };
 //---------------------------------------------------------------------------
 BEGIN_EVENT_TABLE(UserDialog, wxDialog)
   EVT_BUTTON(wxID_OK, UserDialog::OnOK)
-END_EVENT_TABLE()
-//---------------------------------------------------------------------------
-UserDialog::UserDialog(wxWindow *parent):
+  END_EVENT_TABLE()
+  //---------------------------------------------------------------------------
+  UserDialog::UserDialog(wxWindow *parent):
     wxDialog(parent, -1, _("ODBC user"),wxDefaultPosition, wxSize(310, 300),wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE)
 {
   wxLayoutConstraints* layout;
@@ -109,7 +109,7 @@ UserDialog::UserDialog(wxWindow *parent):
   layout->height.AsIs();
   layout->width.Absolute(75);
   m_OK->SetConstraints(layout);
-
+  
   m_Label1 = new wxStaticText(this, -1, _("User name:"));
   layout = new wxLayoutConstraints;
   layout->left.SameAs(m_OK, wxLeft);
@@ -117,7 +117,7 @@ UserDialog::UserDialog(wxWindow *parent):
   layout->height.AsIs();
   layout->width.AsIs();
   m_Label1->SetConstraints(layout);
-
+  
   m_UserName = new wxTextCtrl(this, -1, "");
   layout = new wxLayoutConstraints;
   layout->left.SameAs(m_OK, wxLeft);
@@ -125,7 +125,7 @@ UserDialog::UserDialog(wxWindow *parent):
   layout->width.AsIs();
   layout->height.AsIs();
   m_UserName->SetConstraints(layout);
-
+  
   m_Label2 = new wxStaticText(this, -1, _("Password:"));
   layout = new wxLayoutConstraints;
   layout->left.SameAs(m_OK, wxLeft);
@@ -133,7 +133,7 @@ UserDialog::UserDialog(wxWindow *parent):
   layout->height.AsIs();
   layout->width.AsIs();
   m_Label2->SetConstraints(layout);
-
+  
   m_Password = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD);
   layout = new wxLayoutConstraints;
   layout->left.SameAs(m_OK, wxLeft);
@@ -141,10 +141,10 @@ UserDialog::UserDialog(wxWindow *parent):
   layout->top.SameAs(m_Label2, wxBottom, 3);
   layout->height.AsIs();
   m_Password->SetConstraints(layout);
-
+  
   s_UserName = "";
   s_Password = "";
-
+  
   Layout();
 }
 //---------------------------------------------------------------------------
@@ -154,9 +154,9 @@ UserDialog::~UserDialog()
 //---------------------------------------------------------------------------
 void UserDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 {
- strcpy(ConnectInf.Uid,  m_UserName->GetValue());
- strcpy(ConnectInf.AuthStr, m_Password->GetValue());
- EndModal(1);
 strcpy(ConnectInf.Uid,  m_UserName->GetValue());
 strcpy(ConnectInf.AuthStr, m_Password->GetValue());
 EndModal(1);
 }
 //////////////////////////////////////////////////////////////////////////////////
 // BJO 20000115 : end of  new stuff
@@ -164,12 +164,12 @@ void UserDialog::OnOK(wxCommandEvent& WXUNUSED(event))
 //---------------------------------------------------------------------------
 BrowserDB::BrowserDB()
 {
- Zeiger_auf_NULL(0);
- ODBCSource = "";             // ODBC data source name (created with ODBC Administrator under Win95/NT)
- UserName   = "";             // database username - must already exist in the data source
- Password   = "";             // password database username
- OnFillSqlTyp();
- OnFilldbTyp();
 Zeiger_auf_NULL(0);
 ODBCSource = "";             // ODBC data source name (created with ODBC Administrator under Win95/NT)
 UserName   = "";             // database username - must already exist in the data source
 Password   = "";             // password database username
 OnFillSqlTyp();
 OnFilldbTyp();
 }  // BrowserDB Constructor
 //---------------------------------------------------------------------------
 BrowserDB::~BrowserDB()
@@ -179,371 +179,377 @@ BrowserDB::~BrowserDB()
 //--------------------------------------------------------------------------------------------
 bool BrowserDB::Initialize(int Quite)
 {
- if (!OnStartDB(Quite))
- {
-  wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
-  return FALSE;
- }
- return TRUE;
 if (!OnStartDB(Quite))
   {
+      wxLogMessage(_("\n\n-E-> BrowserDB::OnStartDB(%s) : Failed ! "),ODBCSource.c_str());
+      return FALSE;
   }
 return TRUE;
 }  // BrowserDB:Initialize
 //--------------------------------------------------------------------------------------------
 bool BrowserDB::OnStartDB(int Quite)
 {
- if (!Quite)
-  wxLogMessage(_("\n-I-> BrowserDB::OnStartDB(%s) : Begin "),ODBCSource.c_str());
- if (db_BrowserDB != NULL)
- {
-  if (!Quite)
-   wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is allready open."));
-  return TRUE;
- }
- // Initialize the ODBC Environment for Database Operations
- if (SQLAllocEnv(&ConnectInf.Henv) != SQL_SUCCESS)
- {
   if (!Quite)
-   wxLogMessage(_("\n-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"));
-  return FALSE;
- }
- //---------------------------------------------------------------------------
- // Connect to datasource
- //---------------------------
- DlgUser p_Dlg(pDoc->p_MainFrame, "Username and Password", wxPoint(100, 100), wxSize(340, 170));
- p_Dlg.s_DSN      = ODBCSource;
- p_Dlg.s_User     = UserName;
- p_Dlg.s_Password = Password;
- p_Dlg.OnInit();
- if (p_Dlg.ShowModal() == wxID_OK)
- {
-  (pDoc->p_DSN+i_Which)->Usr = p_Dlg.s_User;
-  (pDoc->p_DSN+i_Which)->Pas = p_Dlg.s_Password;
-  UserName  = p_Dlg.s_User;
-  Password  = p_Dlg.s_Password;
- }
- p_Dlg.Destroy();
- //---------------------------
- strcpy(ConnectInf.Dsn, ODBCSource);           // ODBC data source name (created with ODBC Administrator under Win95/NT)
- strcpy(ConnectInf.Uid, UserName);             // database username - must already exist in the data source
- strcpy(ConnectInf.AuthStr, Password);         // password database username
- db_BrowserDB = GetDbConnection(&ConnectInf);
- // wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str());
- if (db_BrowserDB == NULL)
- {
-  strcpy(ConnectInf.Dsn, "");
-  strcpy(ConnectInf.Uid, "");
-  strcpy(ConnectInf.AuthStr, "");
+    wxLogMessage(_("\n-I-> BrowserDB::OnStartDB(%s) : Begin "),ODBCSource.c_str());
+  if (db_BrowserDB != NULL)
+    {
+      if (!Quite)
+       wxLogMessage(_("\n-I-> BrowserDB::OnStartDB() : DB is allready open."));
+      return TRUE;
+    }
+  // Initialize the ODBC Environment for Database Operations
+  if (SQLAllocEnv(&ConnectInf.Henv) != SQL_SUCCESS)
+    {
+      if (!Quite)
+       wxLogMessage(_("\n-E-> BrowserDB::OnStartDB() : DB CONNECTION ERROR : A problem occured while trying to get a connection to the data source"));
+      return FALSE;
+    }
+  //---------------------------------------------------------------------------
+  // Connect to datasource
+  //---------------------------
+  DlgUser p_Dlg(pDoc->p_MainFrame, "Username and Password", wxPoint(100, 100), wxSize(340, 170));
+  p_Dlg.s_DSN      = ODBCSource;
+  p_Dlg.s_User     = UserName;
+  p_Dlg.s_Password = Password;
+  p_Dlg.OnInit();
+  if (p_Dlg.ShowModal() == wxID_OK)
+    {
+      (pDoc->p_DSN+i_Which)->Usr = p_Dlg.s_User;
+      (pDoc->p_DSN+i_Which)->Pas = p_Dlg.s_Password;
+      UserName  = p_Dlg.s_User;
+      Password  = p_Dlg.s_Password;
+    }
+  p_Dlg.Destroy();
+  //---------------------------
+  strcpy(ConnectInf.Dsn, ODBCSource);           // ODBC data source name (created with ODBC Administrator under Win95/NT)
+  strcpy(ConnectInf.Uid, UserName);             // database username - must already exist in the data source
+  strcpy(ConnectInf.AuthStr, Password);         // password database username
+  db_BrowserDB = GetDbConnection(&ConnectInf);
+  // wxLogMessage(">>>%s<<<>>>%s<<<",UserName.c_str(),Password.c_str());
+  if (db_BrowserDB == NULL)
+    {
+      strcpy(ConnectInf.Dsn, "");
+      strcpy(ConnectInf.Uid, "");
+      strcpy(ConnectInf.AuthStr, "");
+      if (!Quite)
+       {
+         wxLogMessage(_("\n-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n\nCheck the name of your data source to verify it has been correctly entered/spelled.\n\nWith some databases, the user name and password must\nbe created with full rights to the table prior to making a connection\n(using tools provided by the database manufacturer)"));
+         wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
+       }
+      return FALSE;
+    }
+  //--------------------------------------------------------------------------
   if (!Quite)
-  {
-   wxLogMessage(_("\n-E-> BrowserDB::OnConnectDataSource() DB CONNECTION ERROR : Unable to connect to the data source.\n\nCheck the name of your data source to verify it has been correctly entered/spelled.\n\nWith some databases, the user name and password must\nbe created with full rights to the table prior to making a connection\n(using tools provided by the database manufacturer)"));
-   wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
-  }
-  return FALSE;
- }
- //--------------------------------------------------------------------------
- if (!Quite)
- {
-  Temp1 = db_BrowserDB->GetDatabaseName();
-  Temp2 = db_BrowserDB->GetDataSource();
-  wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str());
-  wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
- }
- return TRUE;
+    {
+      Temp1 = db_BrowserDB->GetDatabaseName();
+      Temp2 = db_BrowserDB->GetDataSource();
+      wxLogMessage(_("-I-> BrowserDB::OnGetDataSourceODBC() - DatabaseName(%s) ; DataSource(%s)"),Temp1.c_str(),Temp2.c_str());
+      wxLogMessage(_("-I-> BrowserDB::OnStartDB(%s) : End "),ODBCSource.c_str());
+    }
+  return TRUE;
 }
 //--------------------------------------------------------------------------------------------
 bool BrowserDB::OnCloseDB(int Quite)
 {
- if (!Quite)
-  wxLogMessage(_("-I-> BrowserDB::OnCloseDB() : Begin "));
- if (db_BrowserDB)
- {
-  db_BrowserDB->Close();
-  FreeDbConnection(db_BrowserDB);
-
-  // Free Environment Handle that ODBC uses
-  if (SQLFreeEnv(&ConnectInf.Henv) != SQL_SUCCESS)
-  {
-   // Error freeing environment handle
-  }
-  db_BrowserDB = NULL;
- }
- if (!Quite)
-  wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End "));
- return TRUE;
 if (!Quite)
+    wxLogMessage(_("-I-> BrowserDB::OnCloseDB() : Begin "));
 if (db_BrowserDB)
   {
+      db_BrowserDB->Close();
+      FreeDbConnection(db_BrowserDB);
+      
+      // Free Environment Handle that ODBC uses
+      if (SQLFreeEnv(&ConnectInf.Henv) != SQL_SUCCESS)
+       {
+         // Error freeing environment handle
+       }
+      db_BrowserDB = NULL;
   }
 if (!Quite)
+    wxLogMessage(_("\n-I-> BrowserDB::OnCloseDB() : End "));
 return TRUE;
 }
 //----------------------------------------------------------------------------------------
 bool BrowserDB::OnGetNext(int Cols,int Quite)
 {
- SDWORD cb;
- int      i_dbDataType;
- int   i=0;
- char             s_temp[1024+1];
- long             l_temp;
- double           f_temp;
- int              AnzError=0;
- TIMESTAMP_STRUCT t_temp;
- wxString Temp0;
- //-----------------------------
- if (!db_BrowserDB->GetNext())
- {
-  return FALSE;
-  Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> "));
-  Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-  wxLogMessage(Temp0);
-  wxMessageBox(Temp0);
- }
- else
- {
-  for (i=0;i<Cols;i++)
-  {
-   strcpy((cl_BrowserDB+i)->tableName,"-E->");
-   i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType;
-   if (i_dbDataType == 0)                        // Filter unsupported dbDataTypes
-   {
-    if (((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_VARCHAR) || ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_LONGVARCHAR))
-     i_dbDataType = DB_DATA_TYPE_VARCHAR;
-    if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE)
-     i_dbDataType = DB_DATA_TYPE_DATE;
-    if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT)
-     i_dbDataType = DB_DATA_TYPE_INTEGER;
-    if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC)
-     i_dbDataType = DB_DATA_TYPE_VARCHAR;
-    if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL)
-     i_dbDataType = DB_DATA_TYPE_FLOAT;
-   }
-   if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DOUBLE))
-   {   // DBASE Numeric
-    i_dbDataType = DB_DATA_TYPE_FLOAT;
-   }
-   switch(i_dbDataType)
-   {
-    case DB_DATA_TYPE_VARCHAR:
-         strcpy(s_temp,"");
-         if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_dbDataType,&s_temp,sizeof(s_temp), &cb))
-         {
-          Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n-E-> "),(cl_BrowserDB+i)->tableName);
-          Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-          wxLogMessage(Temp0);
-         }
-         Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp);
-         strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-         break;
-    case DB_DATA_TYPE_INTEGER:
-         l_temp = 0;
-         if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&l_temp,sizeof(l_temp), &cb))
-         {
-          Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
-          Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-         }
-         else
-         {
-          Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp);
-          strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-         }
-         break;
-    case DB_DATA_TYPE_FLOAT:
-         f_temp = 0;
-         if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&f_temp,sizeof(f_temp), &cb))
-         {
-          Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
-          Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-          wxMessageBox(Temp0);
-         }
-         else
-         {
-          Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp);
-          strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-         }
-         break;
-    case DB_DATA_TYPE_DATE:
-         t_temp.day = t_temp.month = t_temp.year = t_temp.hour = t_temp.minute = t_temp.second = t_temp.fraction = 0;
-         if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&t_temp,sizeof(t_temp), &cb))
-         {
-          Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
-          Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-         }
-         else
-         {
-          // i_Nation =  0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
-          if (((cl_BrowserDB->pColFor+i)->i_Nation == 0)  ||  // TS  YYYY-MM-DD
-              ((cl_BrowserDB->pColFor+i)->i_Nation == 3))     // IT  YYYY-MM-DD
-          {
-           Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day,
 SDWORD cb;
 int      i_dbDataType;
 int   i=0;
 char             s_temp[1024+1];
 long             l_temp;
 double           f_temp;
 int              AnzError=0;
 TIMESTAMP_STRUCT t_temp;
 wxString Temp0;
 //-----------------------------
 if (!db_BrowserDB->GetNext())
   {
+      return FALSE;
+      Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext \n-E-> "));
+      Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+      wxLogMessage(Temp0);
+      wxMessageBox(Temp0);
   }
 else
   {
+      for (i=0;i<Cols;i++)
+       {
+         strcpy((cl_BrowserDB+i)->tableName,"-E->");
+         i_dbDataType = (cl_BrowserDB->pColFor+i)->i_dbDataType;
+         if (i_dbDataType == 0)                        // Filter unsupported dbDataTypes
+           {
+             if (((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_VARCHAR) || ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_LONGVARCHAR))
+               i_dbDataType = DB_DATA_TYPE_VARCHAR;
+             if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DATE)
+               i_dbDataType = DB_DATA_TYPE_DATE;
+             if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_BIT)
+               i_dbDataType = DB_DATA_TYPE_INTEGER;
+             if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_NUMERIC)
+               i_dbDataType = DB_DATA_TYPE_VARCHAR;
+             if ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_REAL)
+               i_dbDataType = DB_DATA_TYPE_FLOAT;
+           }
+         if ((i_dbDataType == DB_DATA_TYPE_INTEGER) && ((cl_BrowserDB->pColFor+i)->i_sqlDataType == SQL_C_DOUBLE))
+           {   // DBASE Numeric
+             i_dbDataType = DB_DATA_TYPE_FLOAT;
+           }
+         switch(i_dbDataType)
+           {
+           case DB_DATA_TYPE_VARCHAR:
+             strcpy(s_temp,"");
+             if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_dbDataType,&s_temp,sizeof(s_temp), &cb))
+               {
+                 Temp0.Printf(_("\n-E-> BrowserDB::OnGetNext - ODBC-Error with GetNext of >%s<.\n-E-> "),(cl_BrowserDB+i)->tableName);
+                 Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+                 wxLogMessage(Temp0);
+               }
+             Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,s_temp);
+             strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+             break;
+           case DB_DATA_TYPE_INTEGER:
+             l_temp = 0;
+             if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&l_temp,sizeof(l_temp), &cb))
+               {
+                 Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
+                 Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+               }
+             else
+               {
+                 Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,l_temp);
+                 strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+               }
+             break;
+           case DB_DATA_TYPE_FLOAT:
+             f_temp = 0;
+             if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&f_temp,sizeof(f_temp), &cb))
+               {
+                 Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
+                 Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+                 wxMessageBox(Temp0);
+               }
+             else
+               {
+                 Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,f_temp);
+                 strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+               }
+             break;
+           case DB_DATA_TYPE_DATE:
+             t_temp.day = t_temp.month = t_temp.year = t_temp.hour = t_temp.minute = t_temp.second = t_temp.fraction = 0;
+             if (!db_BrowserDB->GetData(i+1,(cl_BrowserDB->pColFor+i)->i_sqlDataType,&t_temp,sizeof(t_temp), &cb))
+               {
+                 Temp0.Printf(_("\n-E-> BrowserDB::OnGetData - ODBC-Error with GetNext \n-E-> "));
+                 Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+               }
+             else
+               {
+                 // i_Nation =  0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
+                 if (((cl_BrowserDB->pColFor+i)->i_Nation == 0)  ||  // TS  YYYY-MM-DD
+                     ((cl_BrowserDB->pColFor+i)->i_Nation == 3))     // IT  YYYY-MM-DD
+                   {
+                     Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.year,t_temp.month,t_temp.day,
                                    t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
-           strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-          }
-          if ( ((cl_BrowserDB->pColFor+i)->i_Nation == 1) ||  // EU  DD.MM.YYYY
-              ((cl_BrowserDB->pColFor+i)->i_Nation == 2))     // UK  DD/MM/YYYY
-          {
-           Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year,
+                     strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+                   }
+                 if ( ((cl_BrowserDB->pColFor+i)->i_Nation == 1) ||  // EU  DD.MM.YYYY
+                      ((cl_BrowserDB->pColFor+i)->i_Nation == 2))     // UK  DD/MM/YYYY
+                   {
+                     Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.day,t_temp.month,t_temp.year,
                                    t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
-           strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-          }
-          if ((cl_BrowserDB->pColFor+i)->i_Nation == 3)      // US  MM/DD/YYYY
-          {
-           Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year,
+                     strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+                   }
+                 if ((cl_BrowserDB->pColFor+i)->i_Nation == 3)      // US  MM/DD/YYYY
+                   {
+                     Temp0.Printf((cl_BrowserDB->pColFor+i)->s_Field,t_temp.month,t_temp.day,t_temp.year,
                                    t_temp.hour, t_temp.minute, t_temp.second, t_temp.fraction);
-           strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-          }
-         }
-         break;
-    default:
-         AnzError++;
-         if (AnzError <= 100)
-         {
-          Temp0 = (cl_BrowserDB+i)->colName;
-          wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,Temp0.c_str());
-         }
-         else
-          return TRUE;
-         Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,(cl_BrowserDB->pColFor+i)->i_sqlDataType);
-         strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
-         break;
-   };
-  }
- }
- // wxLogMessage("-E-> BrowserDB::OnGetNext - End");
- return TRUE;
+                     strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+                   }
+               }
+             break;
+           default:
+             AnzError++;
+             if (AnzError <= 100)
+               {
+                 Temp0 = (cl_BrowserDB+i)->colName;
+                 wxLogMessage(_("-E-> BrowserDB::OnGetNext - DB_DATA_TYPE_?? (%d) in Col(%s)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,Temp0.c_str());
+               }
+             else
+               return TRUE;
+             Temp0.Printf(_("-E-> unknown Format(%d) - sql(%d)"),(cl_BrowserDB->pColFor+i)->i_dbDataType,(cl_BrowserDB->pColFor+i)->i_sqlDataType);
+             strcpy((cl_BrowserDB+i)->tableName,Temp0.c_str());
+             break;
+           };
+       }
   }
 // wxLogMessage("-E-> BrowserDB::OnGetNext - End");
 return TRUE;
 }
 //----------------------------------------------------------------------------------------
 bool BrowserDB::OnSelect(wxString tb_Name, int Quite)
 {
- wxString SQLStmt;
- i_Records = 0;
- //--------------------------------------------------------------------------
- SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str());
- if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
- {
-  Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
-  Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-  wxLogMessage(Temp0);
-  wxMessageBox("-E-> BrowserDB::OnSelect - GetData()");
-  return FALSE;
- }
- //--------------------------------------------------------------------------
- while (db_BrowserDB->GetNext())
- {
-  i_Records++;
- }
- //--------------------------------------------------------------------------
- if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
- {
-  Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
-  Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
-  wxLogMessage(Temp0);
-  return FALSE;
- }
- //--------------------------------------------------------------------------
- // SetColDefs ( 0,"NAME",     DB_DATA_TYPE_VARCHAR,  Name,     SQL_C_CHAR,      sizeof(Name),    TRUE, TRUE);  // Primary index
- //--------------------------------------------------------------------------
- if (!Quite)
- {
-  wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End "),tb_Name.c_str(),i_Records);
- }
- return TRUE;
 wxString SQLStmt;
 i_Records = 0;
 //--------------------------------------------------------------------------
 SQLStmt.sprintf("SELECT * FROM %s",tb_Name.c_str());
 if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
   {
+      Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
+      Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+      wxLogMessage(Temp0);
+      wxMessageBox("-E-> BrowserDB::OnSelect - GetData()");
+      return FALSE;
   }
 //--------------------------------------------------------------------------
 while (db_BrowserDB->GetNext())
   {
+      i_Records++;
   }
 //--------------------------------------------------------------------------
 if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
   {
+      Temp0.Printf(_("\n-E-> BrowserDB::OnSelect - ODBC-Error with ExecSql of >%s<.\n-E-> "),tb_Name.c_str());
+      Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+      wxLogMessage(Temp0);
+      return FALSE;
   }
 //--------------------------------------------------------------------------
 // SetColDefs ( 0,"NAME",     DB_DATA_TYPE_VARCHAR,  Name,     SQL_C_CHAR,      sizeof(Name),    TRUE, TRUE);  // Primary index
 //--------------------------------------------------------------------------
 if (!Quite)
   {
+      wxLogMessage(_("\n-I-> BrowserDB::OnSelect(%s) Records(%d): End "),tb_Name.c_str(),i_Records);
   }
 return TRUE;
 }
 //----------------------------------------------------------------------------------------
 bool BrowserDB::OnExecSql(wxString SQLStmt, int Quite)
 {
- //--------------------------------------------------------------------------
- if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
- {
-  Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str());
-  Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+  //--------------------------------------------------------------------------
+  if (!db_BrowserDB->ExecSql((char *)(SQLStmt.GetData())))
+    {
+      Temp0.Printf(_("\n-E-> BrowserDB::OnExecSQL - ODBC-Error with ExecSql of >%s<.\n-E-> "),SQLStmt.c_str());
+      Temp0 += GetExtendedDBErrorMsg(__FILE__,__LINE__);
+      if (!Quite)
+       wxLogMessage(Temp0);
+      else
+       wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
+      return FALSE;
+    }
   if (!Quite)
-   wxLogMessage(Temp0);
-  else
-   wxMessageBox("-E-> BrowserDB::OnExecSql - ExecSql()");
-  return FALSE;
- }
- if (!Quite)
- {
-  // wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End "),SQLStmt.c_str());
- }
- return TRUE;
+    {
+      // wxLogMessage(_("\n-I-> BrowserDB::OnExecSql(%s) - End "),SQLStmt.c_str());
+    }
+  return TRUE;
 }
 //----------------------------------------------------------------------------------------
 wxDbInf* BrowserDB::OnGetCatalog(int Quite)
 {
- char UName[255];
- strcpy(UName,UserName);
- ct_BrowserDB = db_BrowserDB->GetCatalog(UName);
- return ct_BrowserDB;
 char UName[255];
 strcpy(UName,UserName);
 ct_BrowserDB = db_BrowserDB->GetCatalog(UName);
 return ct_BrowserDB;
 }
 //----------------------------------------------------------------------------------------
 wxColInf* BrowserDB::OnGetColumns(char *tableName, int numCols,int Quite)
 {
- char UName[255];
- int i;
- strcpy(UName,UserName);
- cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName);
- cl_BrowserDB->pColFor = new wxColFor[numCols];
- for (i=0;i<numCols;i++)
- {
-  (cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType,
-                                  (cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits);
- }
- return cl_BrowserDB;
 char UName[255];
 int i;
 strcpy(UName,UserName);
 cl_BrowserDB = db_BrowserDB->GetColumns(tableName,&numCols,UName);
 cl_BrowserDB->pColFor = new wxColFor[numCols];
 for (i=0;i<numCols;i++)
   {
+      (cl_BrowserDB->pColFor+i)->Format(1,(cl_BrowserDB+i)->dbDataType,(cl_BrowserDB+i)->sqlDataType,
+                                       (cl_BrowserDB+i)->columnSize, (cl_BrowserDB+i)->decimalDigits);
   }
 return cl_BrowserDB;
 }
 //----------------------------------------------------------------------------------------
 void BrowserDB::Zeiger_auf_NULL(int Art)
 {
- if (Art == 1) // Löschen
- {
-  if (cl_BrowserDB != NULL)
-  { // Destroy the memory
-   delete [] cl_BrowserDB;
-  }
-  if (ct_BrowserDB != NULL)
-  { // Destroy the memory
-   delete [] ct_BrowserDB;
-  }
-  if (db_BrowserDB != NULL)
-  {
-   db_BrowserDB->CommitTrans();
-   db_BrowserDB->Close();
-   CloseDbConnections();
-   delete db_BrowserDB;
-  }
- }
- cl_BrowserDB       = NULL;
- ct_BrowserDB       = NULL;
- db_BrowserDB       = NULL;
- p_LogWindow        = NULL;
 if (Art == 1) // Löschen
   {
+      if (cl_BrowserDB != NULL)
+       { // Destroy the memory
+         delete [] cl_BrowserDB;
+       }
+      if (ct_BrowserDB != NULL)
+       { // Destroy the memory
+         delete [] ct_BrowserDB;
+       }
+      if (db_BrowserDB != NULL)
+       {
+         db_BrowserDB->CommitTrans();
+         db_BrowserDB->Close();
+         CloseDbConnections();
+         delete db_BrowserDB;
+       }
   }
 cl_BrowserDB       = NULL;
 ct_BrowserDB       = NULL;
 db_BrowserDB       = NULL;
 p_LogWindow        = NULL;
 }
 //----------------------------------------------------------------------------------------
 void BrowserDB::OnFillSqlTyp()
 {
- i_SqlTyp[1]  = SQL_C_BINARY;     s_SqlTyp[1]  = "SQL_C_BINARY";
- i_SqlTyp[2]  = SQL_C_BIT;        s_SqlTyp[2]  = "SQL_C_BIT";
- i_SqlTyp[3]  = SQL_C_BOOKMARK;   s_SqlTyp[3]  = "SQL_C_BOOKMARK";
- i_SqlTyp[4]  = SQL_C_CHAR;       s_SqlTyp[4]  = "SQL_C_CHAR";
- i_SqlTyp[5]  = SQL_C_DATE;       s_SqlTyp[5]  = "SQL_C_DATE";
- i_SqlTyp[6]  = SQL_C_DEFAULT;    s_SqlTyp[6]  = "SQL_C_DEFAULT";
- i_SqlTyp[7]  = SQL_C_DOUBLE;     s_SqlTyp[7]  = "SQL_C_DOUBLE";
- i_SqlTyp[8]  = SQL_C_FLOAT;      s_SqlTyp[8]  = "SQL_C_FLOAT";
- i_SqlTyp[9]  = SQL_C_LONG;       s_SqlTyp[9]  = "SQL_C_LONG";
- i_SqlTyp[10] = SQL_C_SHORT;      s_SqlTyp[10] = "SQL_C_SHORT";
- i_SqlTyp[11] = SQL_C_SLONG;      s_SqlTyp[11] = "SQL_C_SLONG";
- i_SqlTyp[12] = SQL_C_SSHORT;     s_SqlTyp[12] = "SQL_C_SSHORT";
- i_SqlTyp[13] = SQL_C_STINYINT;   s_SqlTyp[13] = "SQL_C_STINYINT";
- i_SqlTyp[14] = SQL_C_TIME;       s_SqlTyp[14] = "SQL_C_TIME";
- i_SqlTyp[15] = SQL_C_TIMESTAMP;  s_SqlTyp[15] = "SQL_C_TIMESTAMP";
- i_SqlTyp[16] = SQL_C_TINYINT;    s_SqlTyp[16] = "SQL_C_TINYINT";
- i_SqlTyp[17] = SQL_C_ULONG;      s_SqlTyp[17] = "SQL_C_ULONG";
- i_SqlTyp[18] = SQL_C_USHORT;     s_SqlTyp[18] = "SQL_C_USHORT";
- i_SqlTyp[19] = SQL_C_UTINYINT;   s_SqlTyp[19] = "SQL_C_UTINYINT";
- i_SqlTyp[20] = SQL_VARCHAR;      s_SqlTyp[20] = "SQL_VARCHAR";
- i_SqlTyp[21] = SQL_NUMERIC;      s_SqlTyp[21] = "SQL_NUMERIC";
- i_SqlTyp[22] = SQL_LONGVARCHAR;  s_SqlTyp[22] = "SQL_LONGVARCHAR";
- i_SqlTyp[23] = SQL_REAL;         s_SqlTyp[23] = "SQL_REAL";
- i_SqlTyp[0]  = 23;               s_SqlTyp[0]  = "";
 i_SqlTyp[1]  = SQL_C_BINARY;     s_SqlTyp[1]  = "SQL_C_BINARY";
 i_SqlTyp[2]  = SQL_C_BIT;        s_SqlTyp[2]  = "SQL_C_BIT";
 i_SqlTyp[3]  = SQL_C_BOOKMARK;   s_SqlTyp[3]  = "SQL_C_BOOKMARK";
 i_SqlTyp[4]  = SQL_C_CHAR;       s_SqlTyp[4]  = "SQL_C_CHAR";
 i_SqlTyp[5]  = SQL_C_DATE;       s_SqlTyp[5]  = "SQL_C_DATE";
 i_SqlTyp[6]  = SQL_C_DEFAULT;    s_SqlTyp[6]  = "SQL_C_DEFAULT";
 i_SqlTyp[7]  = SQL_C_DOUBLE;     s_SqlTyp[7]  = "SQL_C_DOUBLE";
 i_SqlTyp[8]  = SQL_C_FLOAT;      s_SqlTyp[8]  = "SQL_C_FLOAT";
 i_SqlTyp[9]  = SQL_C_LONG;       s_SqlTyp[9]  = "SQL_C_LONG";
 i_SqlTyp[10] = SQL_C_SHORT;      s_SqlTyp[10] = "SQL_C_SHORT";
 i_SqlTyp[11] = SQL_C_SLONG;      s_SqlTyp[11] = "SQL_C_SLONG";
 i_SqlTyp[12] = SQL_C_SSHORT;     s_SqlTyp[12] = "SQL_C_SSHORT";
 i_SqlTyp[13] = SQL_C_STINYINT;   s_SqlTyp[13] = "SQL_C_STINYINT";
 i_SqlTyp[14] = SQL_C_TIME;       s_SqlTyp[14] = "SQL_C_TIME";
 i_SqlTyp[15] = SQL_C_TIMESTAMP;  s_SqlTyp[15] = "SQL_C_TIMESTAMP";
 i_SqlTyp[16] = SQL_C_TINYINT;    s_SqlTyp[16] = "SQL_C_TINYINT";
 i_SqlTyp[17] = SQL_C_ULONG;      s_SqlTyp[17] = "SQL_C_ULONG";
 i_SqlTyp[18] = SQL_C_USHORT;     s_SqlTyp[18] = "SQL_C_USHORT";
 i_SqlTyp[19] = SQL_C_UTINYINT;   s_SqlTyp[19] = "SQL_C_UTINYINT";
 i_SqlTyp[20] = SQL_VARCHAR;      s_SqlTyp[20] = "SQL_VARCHAR";
 i_SqlTyp[21] = SQL_NUMERIC;      s_SqlTyp[21] = "SQL_NUMERIC";
 i_SqlTyp[22] = SQL_LONGVARCHAR;  s_SqlTyp[22] = "SQL_LONGVARCHAR";
 i_SqlTyp[23] = SQL_REAL;         s_SqlTyp[23] = "SQL_REAL";
 i_SqlTyp[0]  = 23;               s_SqlTyp[0]  = "";
 }
 //----------------------------------------------------------------------------------------
 void BrowserDB::OnFilldbTyp()
 {
- i_dbTyp[1]   = DB_DATA_TYPE_VARCHAR;     s_dbTyp[1]  = "DB_DATA_TYPE_VARCHAR";
- i_dbTyp[2]   = DB_DATA_TYPE_INTEGER;     s_dbTyp[2]  = "DB_DATA_TYPE_INTEGER";
- i_dbTyp[3]   = DB_DATA_TYPE_FLOAT;       s_dbTyp[3]  = "DB_DATA_TYPE_FLOAT";
- i_dbTyp[4]   = DB_DATA_TYPE_DATE;        s_dbTyp[4]  = "DB_DATA_TYPE_DATE";
- i_dbTyp[0]   = 4;                        s_dbTyp[0]   = "";
 i_dbTyp[1]   = DB_DATA_TYPE_VARCHAR;     s_dbTyp[1]  = "DB_DATA_TYPE_VARCHAR";
 i_dbTyp[2]   = DB_DATA_TYPE_INTEGER;     s_dbTyp[2]  = "DB_DATA_TYPE_INTEGER";
 i_dbTyp[3]   = DB_DATA_TYPE_FLOAT;       s_dbTyp[3]  = "DB_DATA_TYPE_FLOAT";
 i_dbTyp[4]   = DB_DATA_TYPE_DATE;        s_dbTyp[4]  = "DB_DATA_TYPE_DATE";
 i_dbTyp[0]   = 4;                        s_dbTyp[0]   = "";
 }
 //----------------------------------------------------------------------------------------
+
+
+
+
+
+