X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a2115c88f381b95cf6d423a5d3128ccbe20c4fa1..7b9da2077d0975db6c965a85c91d5aca671ab5e3:/src/common/dbtable.cpp diff --git a/src/common/dbtable.cpp b/src/common/dbtable.cpp index 3fab3c4813..51ff59a1a2 100644 --- a/src/common/dbtable.cpp +++ b/src/common/dbtable.cpp @@ -40,17 +40,22 @@ #endif #ifdef DBDEBUG_CONSOLE -# include + #include #endif #ifdef __BORLANDC__ - #pragma hdrstop + #pragma hdrstop #endif //__BORLANDC__ #if wxMAJOR_VERSION == 2 -# ifndef WX_PRECOMP -# include -# 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 @@ -90,7 +95,7 @@ ULONG lastTableID = 0; -#if __WXDEBUG__ > 0 +#ifdef __WXDEBUG__ wxList TablesInUse; #endif @@ -137,9 +142,9 @@ wxTable::wxTable(wxDB *pwxDB, const char *tblName, const int nCols, char s[200]; tableID = ++lastTableID; - sprintf(s, "wxTable constructor (%-20s) tableID:[%6lu] pDb:[%lu]", tblName,tableID,pDb); + 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; @@ -181,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); - 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() @@ -241,12 +246,11 @@ wxTable::~wxTable() char s[80]; if (pDb) { - sprintf(s, "wxTable destructor (%-20s) tableID:[%6lu] pDb:[%lu]", tableName,tableID,pDb); + sprintf(s, "wxTable destructor (%-20s) tableID:[%6lu] pDb:[%p]", tableName,tableID,pDb); pDb->WriteSqlLog(s); } -#ifndef PROGRAM_FP4UPG -#if __WXDEBUG__ > 0 +#ifdef __WXDEBUG__ if (tableID) { bool found = FALSE; @@ -271,7 +275,7 @@ wxTable::~wxTable() } } #endif -#endif + // Decrement the wxDB table count if (pDb) pDb->nTables--; @@ -561,18 +565,22 @@ bool wxTable::getRec(UWORD fetchType) { RETCODE retcode; -#ifndef FWD_ONLY_CURSORS +#if !wxODBC_FWD_ONLY_CURSORS + // 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 return(pDb->DispAllErrors(henv, hdbc, hstmt)); #else - // Fetch the next record from the record set + // Fetch the next record from the record set retcode = SQLFetch(hstmt); if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) { @@ -937,12 +945,12 @@ bool wxTable::DropTable() { // 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 - 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); @@ -1056,12 +1064,12 @@ bool wxTable::DropIndex(char * idxName) { // 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 - 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(); @@ -1098,7 +1106,7 @@ int wxTable::Insert(void) { // 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 { @@ -1764,7 +1772,7 @@ bool wxTable::SetNull(char *colName) int i; for (i = 0; i < noCols; i++) { - if (!stricmp(colName, colDefs[i].ColName)) + if (!wxStricmp(colName, colDefs[i].ColName)) break; }