From da99271dcbfc8ab3da4ad18393e6b7b57b7428bf Mon Sep 17 00:00:00 2001 From: George Tasker Date: Mon, 5 Feb 2001 13:36:33 +0000 Subject: [PATCH] ::Initialize() methods added to the helper classes Changed wxT("") to wxEmptyString everywhere git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/db.h | 27 +++++---- include/wx/dbtable.h | 6 +- src/common/db.cpp | 121 +++++++++++++++++++++++++---------------- src/common/dbtable.cpp | 27 ++++++++- 4 files changed, 122 insertions(+), 59 deletions(-) diff --git a/include/wx/db.h b/include/wx/db.h index f22cb0d739..8f86061374 100644 --- a/include/wx/db.h +++ b/include/wx/db.h @@ -284,9 +284,9 @@ class wxDbConnectInf public: wxDbConnectInf(); - wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &userID=wxT(""), - const wxString &password=wxT(""), const wxString &defaultDir=wxT(""), - const wxString &description=wxT(""), const wxString &fileType=wxT("")); + wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &userID=wxEmptyString, + const wxString &password=wxEmptyString, const wxString &defaultDir=wxEmptyString, + const wxString &description=wxEmptyString, const wxString &fileType=wxEmptyString); ~wxDbConnectInf(); @@ -381,6 +381,8 @@ public: wxDbColInf(); ~wxDbColInf(); + + bool Initialize(); }; @@ -394,8 +396,11 @@ public: wxChar tableRemarks[254+1]; int numCols; // How many Columns does this Table have: GetColumnCount(..); wxDbColInf *pColInf; // pColInf = NULL ; User can later call GetColumns(..); + wxDbTableInf(); ~wxDbTableInf(); + + bool Initialize(); }; @@ -410,7 +415,7 @@ public: wxDbInf(); ~wxDbInf(); - void Initialize(); + bool Initialize(); }; @@ -469,6 +474,7 @@ private: bool setConnectionOptions(void); void logError(const wxString &errMsg, const wxString &SQLState); const wxChar *convertUserID(const wxChar *userID, wxString &UserID); + void initialize(); #if !wxODBC_BACKWARD_COMPATABILITY // ODBC handles @@ -568,7 +574,6 @@ public: // Public member functions wxDb(const HENV &aHenv, bool FwdOnlyCursors=(bool)wxODBC_FWD_ONLY_CURSORS); - void Initialize(); bool Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthStr); // Data Source Name, User ID, Password bool Open(wxDbConnectInf *dbConnectInf); @@ -609,16 +614,16 @@ public: wxDbSqlTypeInfo GetTypeInfFloat() {return typeInfFloat;} wxDbSqlTypeInfo GetTypeInfDate() {return typeInfDate;} - bool TableExists(const wxString &tableName, const wxChar *userID=NULL, const wxString &tablePath=wxT("")); // tableName can refer to a table, view, alias or synonym - bool TablePrivileges(const wxString &tableName, const wxString &priv, const wxChar *userID=NULL, const wxChar *schema=NULL, const wxString &path=wxT("")); // tableName can refer to a table, view, alias or synonym - void LogError(const wxString &errMsg, const wxString &SQLState = wxT("")) { logError(errMsg, SQLState); } + bool TableExists(const wxString &tableName, const wxChar *userID=NULL, const wxString &tablePath=wxEmptyString); // tableName can refer to a table, view, alias or synonym + bool TablePrivileges(const wxString &tableName, const wxString &priv, const wxChar *userID=NULL, const wxChar *schema=NULL, const wxString &path=wxEmptyString); // tableName can refer to a table, view, alias or synonym + void LogError(const wxString &errMsg, const wxString &SQLState = wxEmptyString) { logError(errMsg, SQLState); } void SetDebugErrorMessages(bool state) { silent = !state; } bool SetSqlLogging(wxDbSqlLogState state, const wxString &filename = SQL_LOG_FILENAME, bool append = FALSE); bool WriteSqlLog(const wxString &logMsg); wxDBMS Dbms(void); bool ModifyColumn(const wxString &tableName, const wxString &columnName, int dataType, ULONG columnLength=0, - const wxString &optionalParam=wxT("")); + const wxString &optionalParam=wxEmptyString); bool FwdOnlyCursors(void) {return fwdOnlyCursors;} @@ -673,8 +678,8 @@ bool wxDbSqlLog(wxDbSqlLogState state, const wxString &filename = SQL_LOG_FILENA #if 0 // MSW/VC6 ONLY!!! Experimental -int WXDLLEXPORT wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const wxString &description=wxT(""), - bool sysDSN=FALSE, const wxString &defDir=wxT(""), wxWindow *parent=NULL); +int WXDLLEXPORT wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const wxString &description=wxEmptyString, + bool sysDSN=FALSE, const wxString &defDir=wxEmptyString, wxWindow *parent=NULL); #endif // This routine allows you to query a driver manager diff --git a/include/wx/dbtable.h b/include/wx/dbtable.h index 1de1597bf8..2e98f16b35 100644 --- a/include/wx/dbtable.h +++ b/include/wx/dbtable.h @@ -76,6 +76,10 @@ public: bool DerivedCol; // Specifies whether this column is a derived value SDWORD CbValue; // Internal use only!!! bool Null; // NOT FULLY IMPLEMENTED - Allows NULL values in Inserts and Updates + + wxDbColDef(); + + bool Initialize(); }; // wxDbColDef @@ -119,7 +123,7 @@ private: bool getRec(UWORD fetchType); bool execDelete(const wxString &pSqlStmt); bool execUpdate(const wxString &pSqlStmt); - bool query(int queryType, bool forUpdate, bool distinct, const wxString &pSqlStmt=wxT("")); + bool query(int queryType, bool forUpdate, bool distinct, const wxString &pSqlStmt=wxEmptyString); #if !wxODBC_BACKWARD_COMPATABILITY // these were public diff --git a/src/common/db.cpp b/src/common/db.cpp index 93d1c6a74c..e15a0f6e1c 100644 --- a/src/common/db.cpp +++ b/src/common/db.cpp @@ -138,30 +138,36 @@ typedef struct /********** wxDbConnectInf Constructor - form 1 **********/ wxDbConnectInf::wxDbConnectInf() { + Henv = 0; + freeHenvOnDestroy = FALSE; + Initialize(); } // Constructor /********** wxDbConnectInf Constructor - form 2 **********/ -wxDbConnectInf::wxDbConnectInf(HENV Henv, const wxString &Dsn, const wxString &UserID, - const wxString &Password, const wxString &DefaultDir, - const wxString &FileType, const wxString &Description) +wxDbConnectInf::wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &userID, + const wxString &password, const wxString &defaultDir, + const wxString &fileType, const wxString &description) { - wxASSERT(Dsn.Length()); + wxASSERT(dsn.Length()); + + Henv = 0; + freeHenvOnDestroy = FALSE; Initialize(); - if (Henv) - SetHenv(Henv); + if (henv) + SetHenv(henv); else AllocHenv(); - SetDsn(Dsn); - SetUserID(UserID); - SetPassword(Password); - SetDescription(Description); - SetFileType(FileType); - SetDefaultDir(DefaultDir); + SetDsn(dsn); + SetUserID(userID); + SetPassword(password); + SetDescription(description); + SetFileType(fileType); + SetDefaultDir(defaultDir); } // wxDbConnectInf Constructor @@ -180,6 +186,9 @@ bool wxDbConnectInf::Initialize() { freeHenvOnDestroy = FALSE; + if (freeHenvOnDestroy && Henv) + FreeHenv(); + Henv = 0; Dsn[0] = 0; Uid[0] = 0; @@ -368,6 +377,21 @@ int wxDbColFor::Format(int Nation, int dbDataType, SWORD sqlDataType, /********** wxDbColInf Constructor **********/ wxDbColInf::wxDbColInf() +{ + Initialize(); +} // wxDbColInf::wxDbColInf() + + +/********** wxDbColInf Destructor ********/ +wxDbColInf::~wxDbColInf() +{ + if (pColFor) + delete pColFor; + pColFor = NULL; +} // wxDbColInf::~wxDbColInf() + + +bool wxDbColInf::Initialize() { catalog[0] = 0; schema[0] = 0; @@ -387,26 +411,15 @@ wxDbColInf::wxDbColInf() FkCol = 0; FkTableName[0] = 0; pColFor = NULL; -} // wxDbColInf::wxDbColInf() - -/********** wxDbColInf Destructor ********/ -wxDbColInf::~wxDbColInf() -{ - if (pColFor) - delete pColFor; - pColFor = NULL; -} // wxDbColInf::~wxDbColInf() + return TRUE; +} // wxDbColInf::Initialize() /********** wxDbTableInf Constructor ********/ wxDbTableInf::wxDbTableInf() { - tableName[0] = 0; - tableType[0] = 0; - tableRemarks[0] = 0; - numCols = 0; - pColInf = NULL; + Initialize(); } // wxDbTableInf::wxDbTableInf() @@ -419,6 +432,18 @@ wxDbTableInf::~wxDbTableInf() } // wxDbTableInf::~wxDbTableInf() +bool wxDbTableInf::Initialize() +{ + tableName[0] = 0; + tableType[0] = 0; + tableRemarks[0] = 0; + numCols = 0; + pColInf = NULL; + + return TRUE; +} // wxDbTableInf::Initialize() + + /********** wxDbInf Constructor *************/ wxDbInf::wxDbInf() { @@ -436,12 +461,14 @@ wxDbInf::~wxDbInf() /********** wxDbInf::Initialize() *************/ -void wxDbInf::Initialize() +bool wxDbInf::Initialize() { catalog[0] = 0; schema[0] = 0; numTables = 0; pTableInf = NULL; + + return TRUE; } // wxDbInf::Initialize() @@ -451,12 +478,14 @@ wxDb::wxDb(const HENV &aHenv, bool FwdOnlyCursors) // Copy the HENV into the db class henv = aHenv; fwdOnlyCursors = FwdOnlyCursors; - Initialize(); + + initialize(); } // wxDb::wxDb() -/********** wxDb::Initialize() **********/ -void wxDb::Initialize() +/********** PRIVATE! wxDb::initialize PRIVATE! **********/ +/********** wxDb::initialize() **********/ +void wxDb::initialize() /* * Private member function that sets all wxDb member variables to * known values at creation of the wxDb @@ -469,11 +498,11 @@ void wxDb::Initialize() nTables = 0; dbmsType = dbmsUNIDENTIFIED; - wxStrcpy(sqlState,wxT("")); - wxStrcpy(errorMsg,wxT("")); + wxStrcpy(sqlState,wxEmptyString); + wxStrcpy(errorMsg,wxEmptyString); nativeError = cbErrorMsg = 0; for (i = 0; i < DB_MAX_ERROR_HISTORY; i++) - wxStrcpy(errorList[i], wxT("")); + wxStrcpy(errorList[i], wxEmptyString); // Init typeInf structures typeInfVarchar.TypeName.Empty(); @@ -512,7 +541,7 @@ void wxDb::Initialize() // Mark database as not open as of yet dbIsOpen = FALSE; -} // wxDb::Initialize() +} // wxDb::initialize() /********** PRIVATE! wxDb::convertUserID PRIVATE! **********/ @@ -592,8 +621,8 @@ bool wxDb::Open(const wxString &Dsn, const wxString &Uid, const wxString &AuthSt If using Intersolv branded ODBC drivers, this is the place where you would substitute your branded driver license information - SQLSetConnectOption(hdbc, 1041, (UDWORD) wxT("")); - SQLSetConnectOption(hdbc, 1042, (UDWORD) wxT("")); + SQLSetConnectOption(hdbc, 1041, (UDWORD) wxEmptyString); + SQLSetConnectOption(hdbc, 1042, (UDWORD) wxEmptyString); */ // Mark database as open @@ -764,8 +793,8 @@ bool wxDb::Open(wxDb *copyDb) If using Intersolv branded ODBC drivers, this is the place where you would substitute your branded driver license information - SQLSetConnectOption(hdbc, 1041, (UDWORD) wxT("")); - SQLSetConnectOption(hdbc, 1042, (UDWORD) wxT("")); + SQLSetConnectOption(hdbc, 1041, (UDWORD) wxEmptyString); + SQLSetConnectOption(hdbc, 1042, (UDWORD) wxEmptyString); */ // Mark database as open @@ -2073,8 +2102,8 @@ wxDbColInf *wxDb::GetColumns(wxChar *tableName[], const wxChar *userID) if (!colInf) break; // Mark the end of the array - wxStrcpy(colInf[noCols].tableName,wxT("")); - wxStrcpy(colInf[noCols].colName,wxT("")); + wxStrcpy(colInf[noCols].tableName,wxEmptyString); + wxStrcpy(colInf[noCols].colName,wxEmptyString); colInf[noCols].sqlDataType = 0; } // Loop through each table name @@ -2230,8 +2259,8 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh if (!colInf) break; // Mark the end of the array - wxStrcpy(colInf[noCols].tableName, wxT("")); - wxStrcpy(colInf[noCols].colName, wxT("")); + wxStrcpy(colInf[noCols].tableName, wxEmptyString); + wxStrcpy(colInf[noCols].colName, wxEmptyString); colInf[noCols].sqlDataType = 0; } @@ -2420,8 +2449,8 @@ wxDbColInf *wxDb::GetColumns(wxChar *tableName[], const wxChar *userID) wxDbColInf *colInf = new wxDbColInf[noCols+1]; // Mark the end of the array - wxStrcpy(colInf[noCols].tableName, wxT("")); - wxStrcpy(colInf[noCols].colName, wxT("")); + wxStrcpy(colInf[noCols].tableName, wxEmptyString); + wxStrcpy(colInf[noCols].colName, wxEmptyString); colInf[noCols].sqlDataType = 0; // Merge ... @@ -2483,8 +2512,8 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh if (!colInf) break; // Mark the end of the array - wxStrcpy(colInf[noCols].tableName, wxT("")); - wxStrcpy(colInf[noCols].colName, wxT("")); + wxStrcpy(colInf[noCols].tableName, wxEmptyString); + wxStrcpy(colInf[noCols].colName, wxEmptyString); colInf[noCols].sqlDataType = 0; } diff --git a/src/common/dbtable.cpp b/src/common/dbtable.cpp index 9dbeb6d0a2..2a64883a0b 100644 --- a/src/common/dbtable.cpp +++ b/src/common/dbtable.cpp @@ -102,7 +102,32 @@ ULONG lastTableID = 0; #endif -/********** wxDbTable::wxDbTable() **********/ +/********** wxDbColDef::wxDbColDef() Constructor **********/ +wxDbColDef::wxDbColDef() +{ + Initialize(); +} // Constructor + + +bool wxDbColDef::Initialize() +{ + ColName[0] = 0; + DbDataType = DB_DATA_TYPE_INTEGER; + SqlCtype = SQL_C_LONG; + PtrDataObj = NULL; + SzDataObj = 0; + KeyField = FALSE; + Updateable = FALSE; + InsertAllowed = FALSE; + DerivedCol = FALSE; + CbValue = 0; + Null = FALSE; + + return TRUE; +} // wxDbColDef::Initialize() + + +/********** wxDbTable::wxDbTable() Constructor **********/ wxDbTable::wxDbTable(wxDb *pwxDb, const wxString &tblName, const int nCols, const wxString &qryTblName, bool qryOnly, const wxString &tblPath) { -- 2.45.2