]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dbtable.cpp
VTK wrapper of vtkRenderWindow for wxPython. Tested on MSW so far.
[wxWidgets.git] / src / common / dbtable.cpp
index ba8833b035404a2fed3807d87396ced4be9ca90b..51ff59a1a292a7bf41bd4f0a09604f8d3a0d0410 100644 (file)
 #endif
 
 #ifdef DBDEBUG_CONSOLE
 #endif
 
 #ifdef DBDEBUG_CONSOLE
-#      include <iostream.h>
+        #include <iostream.h>
 #endif
 
 #ifdef    __BORLANDC__
 #endif
 
 #ifdef    __BORLANDC__
-  #pragma hdrstop
+        #pragma hdrstop
 #endif  //__BORLANDC__
 
 #if wxMAJOR_VERSION == 2
 #endif  //__BORLANDC__
 
 #if wxMAJOR_VERSION == 2
-#      ifndef WX_PRECOMP
-#              include  "wx/wx.h"
-#      endif //WX_PRECOMP
+        #ifndef WX_PRECOMP
+                #include "wx/string.h"
+                #include "wx/object.h"
+                #include "wx/list.h"
+                #include "wx/utils.h"
+                #include "wx/msgdlg.h"
+       #endif
+       #include "wx/filefn.h"
 #endif
 
 #if wxMAJOR_VERSION == 1
 #endif
 
 #if wxMAJOR_VERSION == 1
        #include "wx/dbtable.h"
 #endif
 
        #include "wx/dbtable.h"
 #endif
 
-#ifdef __MWERKS__
-#define stricmp _stricmp
-#define strnicmp _strnicmp
-#endif
-
 #ifdef __UNIX__
 // The HPUX preprocessor lines below were commented out on 8/20/97
 // because macros.h currently redefines DEBUG and is unneeded.
 #ifdef __UNIX__
 // The HPUX preprocessor lines below were commented out on 8/20/97
 // because macros.h currently redefines DEBUG and is unneeded.
@@ -95,7 +95,7 @@
 ULONG lastTableID = 0;
 
 
 ULONG lastTableID = 0;
 
 
-#if __WXDEBUG__ > 0
+#ifdef __WXDEBUG__
        wxList TablesInUse;
 #endif
 
        wxList TablesInUse;
 #endif
 
@@ -144,7 +144,7 @@ wxTable::wxTable(wxDB *pwxDB, const char *tblName, const int nCols,
        tableID = ++lastTableID;
        sprintf(s, "wxTable constructor (%-20s) tableID:[%6lu] pDb:[%p]", tblName,tableID,pDb);
 
        tableID = ++lastTableID;
        sprintf(s, "wxTable constructor (%-20s) tableID:[%6lu] pDb:[%p]", tblName,tableID,pDb);
 
-#if __WXDEBUG__ > 0
+#ifdef __WXDEBUG__
        CstructTablesInUse *tableInUse;
        tableInUse = new CstructTablesInUse();
        tableInUse->tableName = tblName;
        CstructTablesInUse *tableInUse;
        tableInUse = new CstructTablesInUse();
        tableInUse->tableName = tblName;
@@ -186,7 +186,7 @@ wxTable::wxTable(wxDB *pwxDB, const char *tblName, const int nCols,
        {
                // Check to see if cursor type is supported
                pDb->GetNextError(henv, hdbc, hstmtInternal);
        {
                // Check to see if cursor type is supported
                pDb->GetNextError(henv, hdbc, hstmtInternal);
-               if (! strcmp(pDb->sqlState, "01S02"))  // Option Value Changed
+               if (! wxStrcmp(pDb->sqlState, "01S02"))  // Option Value Changed
                {
                        // Datasource does not support static cursors.  Driver
                        // will substitute a cursor type.  Call SQLGetStmtOption()
                {
                        // Datasource does not support static cursors.  Driver
                        // will substitute a cursor type.  Call SQLGetStmtOption()
@@ -250,8 +250,7 @@ wxTable::~wxTable()
                pDb->WriteSqlLog(s);
        }
 
                pDb->WriteSqlLog(s);
        }
 
-#ifndef PROGRAM_FP4UPG
-#if __WXDEBUG__ > 0
+#ifdef __WXDEBUG__
        if (tableID)
        {
                bool found = FALSE;
        if (tableID)
        {
                bool found = FALSE;
@@ -276,7 +275,7 @@ wxTable::~wxTable()
                }
        }
 #endif
                }
        }
 #endif
-#endif
+
        // Decrement the wxDB table count
        if (pDb)
                pDb->nTables--;
        // Decrement the wxDB table count
        if (pDb)
                pDb->nTables--;
@@ -566,12 +565,15 @@ bool wxTable::getRec(UWORD fetchType)
 {
        RETCODE retcode;
 
 {
        RETCODE retcode;
 
-#if wxODBC_FWD_ONLY_CURSORS
+#if !wxODBC_FWD_ONLY_CURSORS
 
        // Fetch the NEXT, PREV, FIRST or LAST record, depending on fetchType
        UDWORD  cRowsFetched;
        UWORD   rowStatus;
 
        // Fetch the NEXT, PREV, FIRST or LAST record, depending on fetchType
        UDWORD  cRowsFetched;
        UWORD   rowStatus;
-       if ((retcode = SQLExtendedFetch(hstmt, fetchType, 0, &cRowsFetched, &rowStatus)) != SQL_SUCCESS)
+
+//     if ((retcode = SQLExtendedFetch(hstmt, fetchType, 0, &cRowsFetched, &rowStatus)) != SQL_SUCCESS)
+   retcode = SQLExtendedFetch(hstmt, fetchType, 0, &cRowsFetched, &rowStatus);
+   if (retcode  != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO)
                if (retcode == SQL_NO_DATA_FOUND)
                        return(FALSE);
                else
                if (retcode == SQL_NO_DATA_FOUND)
                        return(FALSE);
                else
@@ -943,12 +945,12 @@ bool wxTable::DropTable()
        {
                // Check for "Base table not found" error and ignore
                pDb->GetNextError(henv, hdbc, hstmt);
        {
                // Check for "Base table not found" error and ignore
                pDb->GetNextError(henv, hdbc, hstmt);
-               if (strcmp(pDb->sqlState,"S0002"))  // "Base table not found"
+               if (wxStrcmp(pDb->sqlState,"S0002"))  // "Base table not found"
                {
                        // Check for product specific error codes
                {
                        // Check for product specific error codes
-                       if (!((pDb->Dbms() == dbmsSYBASE_ASA    && !strcmp(pDb->sqlState,"42000"))       ||  // 5.x (and lower?)
-                                  (pDb->Dbms() == dbmsMY_SQL                   && !strcmp(pDb->sqlState,"S1000"))       ||  // untested
-                                  (pDb->Dbms() == dbmsPOSTGRES         && !strcmp(pDb->sqlState,"08S01"))))      // untested
+                       if (!((pDb->Dbms() == dbmsSYBASE_ASA    && !wxStrcmp(pDb->sqlState,"42000"))     ||  // 5.x (and lower?)
+                                  (pDb->Dbms() == dbmsMY_SQL                   && !wxStrcmp(pDb->sqlState,"S1000"))     ||  // untested
+                                  (pDb->Dbms() == dbmsPOSTGRES         && !wxStrcmp(pDb->sqlState,"08S01"))))    // untested
                        {
                                pDb->DispNextError();
                                pDb->DispAllErrors(henv, hdbc, hstmt);
                        {
                                pDb->DispNextError();
                                pDb->DispAllErrors(henv, hdbc, hstmt);
@@ -1062,12 +1064,12 @@ bool wxTable::DropIndex(char * idxName)
        {
                // Check for "Index not found" error and ignore
                pDb->GetNextError(henv, hdbc, hstmt);
        {
                // Check for "Index not found" error and ignore
                pDb->GetNextError(henv, hdbc, hstmt);
-               if (strcmp(pDb->sqlState,"S0012"))  // "Index not found"
+               if (wxStrcmp(pDb->sqlState,"S0012"))  // "Index not found"
                {
                        // Check for product specific error codes
                {
                        // Check for product specific error codes
-                       if (!((pDb->Dbms() == dbmsSYBASE_ASA    && !strcmp(pDb->sqlState,"42000"))   ||  // v5.x (and lower?)
-                                  (pDb->Dbms() == dbmsSYBASE_ASE       && !strcmp(pDb->sqlState,"S0002"))   ||  // Base table not found
-                                  (pDb->Dbms() == dbmsMY_SQL                   && !strcmp(pDb->sqlState,"42S02"))       // untested
+                       if (!((pDb->Dbms() == dbmsSYBASE_ASA    && !wxStrcmp(pDb->sqlState,"42000"))   ||  // v5.x (and lower?)
+                                  (pDb->Dbms() == dbmsSYBASE_ASE       && !wxStrcmp(pDb->sqlState,"S0002"))   ||  // Base table not found
+                                  (pDb->Dbms() == dbmsMY_SQL                   && !wxStrcmp(pDb->sqlState,"42S02"))       // untested
                                        ))
                        {
                                pDb->DispNextError();
                                        ))
                        {
                                pDb->DispNextError();
@@ -1104,7 +1106,7 @@ int wxTable::Insert(void)
        {
                // Check to see if integrity constraint was violated
                pDb->GetNextError(henv, hdbc, hstmtInsert);
        {
                // Check to see if integrity constraint was violated
                pDb->GetNextError(henv, hdbc, hstmtInsert);
-               if (! strcmp(pDb->sqlState, "23000"))  // Integrity constraint violated
+               if (! wxStrcmp(pDb->sqlState, "23000"))  // Integrity constraint violated
                        return(DB_ERR_INTEGRITY_CONSTRAINT_VIOL);
                else
                {
                        return(DB_ERR_INTEGRITY_CONSTRAINT_VIOL);
                else
                {
@@ -1770,7 +1772,7 @@ bool wxTable::SetNull(char *colName)
        int i;
        for (i = 0; i < noCols; i++)
        {
        int i;
        for (i = 0; i < noCols; i++)
        {
-               if (!stricmp(colName, colDefs[i].ColName))
+               if (!wxStricmp(colName, colDefs[i].ColName))
                        break;
        }
 
                        break;
        }