X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7eeba5114ce9c7eccdeb8bd68ee608bb7ba462e3..80a779275ae04443c568dca919adb26cf6f5002c:/src/common/dbtable.cpp diff --git a/src/common/dbtable.cpp b/src/common/dbtable.cpp index 0e781f19a3..5463713419 100644 --- a/src/common/dbtable.cpp +++ b/src/common/dbtable.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: dbtable.cpp +// Name: src/common/dbtable.cpp // Purpose: Implementation of the wxDbTable class. // Author: Doug Card // Modified by: George Tasker @@ -11,17 +11,22 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -/* -// SYNOPSIS START -// SYNOPSIS STOP -*/ - #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif +#if wxUSE_ODBC + +#ifndef WX_PRECOMP + #include "wx/object.h" + #include "wx/list.h" + #include "wx/string.h" + #include "wx/utils.h" + #include "wx/log.h" +#endif + #ifdef DBDEBUG_CONSOLE #if wxUSE_IOSTREAMH #include @@ -31,17 +36,8 @@ #include "wx/ioswrap.h" #endif -#ifndef WX_PRECOMP - #include "wx/string.h" - #include "wx/object.h" - #include "wx/list.h" - #include "wx/utils.h" - #include "wx/log.h" -#endif #include "wx/filefn.h" -#if wxUSE_ODBC - #include #include #include @@ -69,7 +65,7 @@ ULONG lastTableID = 0; void csstrncpyt(wxChar *target, const wxChar *source, int n) { - while ( (*target++ = *source++) != '\0' && --n ) + while ( (*target++ = *source++) != '\0' && --n != 0 ) ; *target = '\0'; @@ -159,7 +155,7 @@ bool wxDbTable::initialize(wxDb *pwxDb, const wxString &tblName, const UWORD num tableName.Empty(); queryTableName.Empty(); - wxASSERT(tblName.Length()); + wxASSERT(tblName.length()); wxASSERT(pDb); if (!pDb) @@ -171,12 +167,12 @@ bool wxDbTable::initialize(wxDb *pwxDb, const wxString &tblName, const UWORD num (pDb->Dbms() == dbmsINTERBASE)) tableName = tableName.Upper(); - if (tblPath.Length()) + if (tblPath.length()) tablePath = tblPath; // Table Path - used for dBase files else tablePath.Empty(); - if (qryTblName.Length()) // Name of the table/view to query + if (qryTblName.length()) // Name of the table/view to query queryTableName = qryTblName; else queryTableName = tblName; @@ -190,7 +186,8 @@ bool wxDbTable::initialize(wxDb *pwxDb, const wxString &tblName, const UWORD num wxString s; tableID = ++lastTableID; - s.Printf(wxT("wxDbTable constructor (%-20s) tableID:[%6lu] pDb:[%p]"), tblName.c_str(), tableID, pDb); + s.Printf(wxT("wxDbTable constructor (%-20s) tableID:[%6lu] pDb:[%p]"), + tblName.c_str(), tableID, wx_static_cast(void*, pDb)); #ifdef __WXDEBUG__ wxTablesInUse *tableInUse; @@ -313,7 +310,8 @@ void wxDbTable::cleanup() wxString s; if (pDb) { - s.Printf(wxT("wxDbTable destructor (%-20s) tableID:[%6lu] pDb:[%p]"), tableName.c_str(), tableID, pDb); + s.Printf(wxT("wxDbTable destructor (%-20s) tableID:[%6lu] pDb:[%p]"), + tableName.c_str(), tableID, wx_static_cast(void*, pDb)); pDb->WriteSqlLog(s); } @@ -419,7 +417,6 @@ void wxDbTable::setCbValueForColumn(int columnIndex) else colDefs[columnIndex].CbValue = SQL_NTS; break; - break; case DB_DATA_TYPE_INTEGER: if (colDefs[columnIndex].Null) colDefs[columnIndex].CbValue = SQL_NULL_DATA; @@ -994,7 +991,7 @@ void wxDbTable::BuildDeleteStmt(wxString &pSqlStmt, int typeOfDel, const wxStrin // Handle the case of DeleteWhere() and the where clause is blank. It should // delete all records from the database in this case. - if (typeOfDel == DB_DEL_WHERE && (pWhereClause.Length() == 0)) + if (typeOfDel == DB_DEL_WHERE && (pWhereClause.length() == 0)) { pSqlStmt.Printf(wxT("DELETE FROM %s"), pDb->SQLTableName(tableName.c_str()).c_str()); @@ -1073,7 +1070,7 @@ void wxDbTable::BuildSelectStmt(wxString &pSqlStmt, int typeOfSelect, bool disti if (typeOfSelect == DB_SELECT_WHERE && from && wxStrlen(from)) appendFromClause = true; #else - if (typeOfSelect == DB_SELECT_WHERE && from.Length()) + if (typeOfSelect == DB_SELECT_WHERE && from.length()) appendFromClause = true; #endif @@ -1133,7 +1130,7 @@ void wxDbTable::BuildSelectStmt(wxString &pSqlStmt, int typeOfSelect, bool disti #if wxODBC_BACKWARD_COMPATABILITY if (where && wxStrlen(where)) // May not want a where clause!!! #else - if (where.Length()) // May not want a where clause!!! + if (where.length()) // May not want a where clause!!! #endif { pSqlStmt += wxT(" WHERE "); @@ -1142,7 +1139,7 @@ void wxDbTable::BuildSelectStmt(wxString &pSqlStmt, int typeOfSelect, bool disti break; case DB_SELECT_KEYFIELDS: BuildWhereClause(whereClause, DB_WHERE_KEYFIELDS); - if (whereClause.Length()) + if (whereClause.length()) { pSqlStmt += wxT(" WHERE "); pSqlStmt += whereClause; @@ -1150,7 +1147,7 @@ void wxDbTable::BuildSelectStmt(wxString &pSqlStmt, int typeOfSelect, bool disti break; case DB_SELECT_MATCHING: BuildWhereClause(whereClause, DB_WHERE_MATCHING); - if (whereClause.Length()) + if (whereClause.length()) { pSqlStmt += wxT(" WHERE "); pSqlStmt += whereClause; @@ -1162,7 +1159,7 @@ void wxDbTable::BuildSelectStmt(wxString &pSqlStmt, int typeOfSelect, bool disti #if wxODBC_BACKWARD_COMPATABILITY if (orderBy && wxStrlen(orderBy)) #else - if (orderBy.Length()) + if (orderBy.length()) #endif { pSqlStmt += wxT(" ORDER BY "); @@ -1296,7 +1293,7 @@ void wxDbTable::BuildWhereClause(wxString &pWhereClause, int typeOfWhere, // Concatenate where phrase for the column wxString tStr = colDefs[colNumber].ColName; - if (qualTableName.Length() && tStr.Find(wxT('.')) == wxNOT_FOUND) + if (qualTableName.length() && tStr.Find(wxT('.')) == wxNOT_FOUND) { pWhereClause += pDb->SQLTableName(qualTableName); pWhereClause += wxT("."); @@ -2247,6 +2244,20 @@ void wxDbTable::ClearMemberVar(UWORD colNumber, bool setToNull) pDt->second = 0; pDt->fraction = 0; break; + case SQL_C_DATE: + DATE_STRUCT *pDtd; + pDtd = (DATE_STRUCT *) colDefs[colNumber].PtrDataObj; + pDtd->year = 0; + pDtd->month = 0; + pDtd->day = 0; + break; + case SQL_C_TIME: + TIME_STRUCT *pDtt; + pDtt = (TIME_STRUCT *) colDefs[colNumber].PtrDataObj; + pDtt->hour = 0; + pDtt->minute = 0; + pDtt->second = 0; + break; } if (setToNull) @@ -2302,7 +2313,7 @@ bool wxDbTable::SetColDefs(UWORD index, const wxString &fieldName, int dataType, if (!colDefs) // May happen if the database connection fails return false; - if (fieldName.Length() > (unsigned int) DB_MAX_COLUMN_NAME_LEN) + if (fieldName.length() > (unsigned int) DB_MAX_COLUMN_NAME_LEN) { wxStrncpy(colDefs[index].ColName, fieldName, DB_MAX_COLUMN_NAME_LEN); colDefs[index].ColName[DB_MAX_COLUMN_NAME_LEN] = 0; // Prevent buffer overrun @@ -2456,7 +2467,7 @@ ULONG wxDbTable::Count(const wxString &args) #if wxODBC_BACKWARD_COMPATABILITY if (from && wxStrlen(from)) #else - if (from.Length()) + if (from.length()) #endif sqlStmt += from; @@ -2464,7 +2475,7 @@ ULONG wxDbTable::Count(const wxString &args) #if wxODBC_BACKWARD_COMPATABILITY if (where && wxStrlen(where)) #else - if (where.Length()) + if (where.length()) #endif { sqlStmt += wxT(" WHERE "); @@ -2922,4 +2933,3 @@ void wxDbTable::SetKey(const GenericKey& k) #endif // wxUSE_ODBC -