::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
This commit is contained in:
George Tasker
2001-02-05 13:36:33 +00:00
parent 19320af45a
commit da99271dcb
4 changed files with 122 additions and 59 deletions

View File

@@ -284,9 +284,9 @@ class wxDbConnectInf
public: public:
wxDbConnectInf(); wxDbConnectInf();
wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &userID=wxT(""), wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &userID=wxEmptyString,
const wxString &password=wxT(""), const wxString &defaultDir=wxT(""), const wxString &password=wxEmptyString, const wxString &defaultDir=wxEmptyString,
const wxString &description=wxT(""), const wxString &fileType=wxT("")); const wxString &description=wxEmptyString, const wxString &fileType=wxEmptyString);
~wxDbConnectInf(); ~wxDbConnectInf();
@@ -381,6 +381,8 @@ public:
wxDbColInf(); wxDbColInf();
~wxDbColInf(); ~wxDbColInf();
bool Initialize();
}; };
@@ -394,8 +396,11 @@ public:
wxChar tableRemarks[254+1]; wxChar tableRemarks[254+1];
int numCols; // How many Columns does this Table have: GetColumnCount(..); int numCols; // How many Columns does this Table have: GetColumnCount(..);
wxDbColInf *pColInf; // pColInf = NULL ; User can later call GetColumns(..); wxDbColInf *pColInf; // pColInf = NULL ; User can later call GetColumns(..);
wxDbTableInf(); wxDbTableInf();
~wxDbTableInf(); ~wxDbTableInf();
bool Initialize();
}; };
@@ -410,7 +415,7 @@ public:
wxDbInf(); wxDbInf();
~wxDbInf(); ~wxDbInf();
void Initialize(); bool Initialize();
}; };
@@ -469,6 +474,7 @@ private:
bool setConnectionOptions(void); bool setConnectionOptions(void);
void logError(const wxString &errMsg, const wxString &SQLState); void logError(const wxString &errMsg, const wxString &SQLState);
const wxChar *convertUserID(const wxChar *userID, wxString &UserID); const wxChar *convertUserID(const wxChar *userID, wxString &UserID);
void initialize();
#if !wxODBC_BACKWARD_COMPATABILITY #if !wxODBC_BACKWARD_COMPATABILITY
// ODBC handles // ODBC handles
@@ -568,7 +574,6 @@ public:
// Public member functions // Public member functions
wxDb(const HENV &aHenv, bool FwdOnlyCursors=(bool)wxODBC_FWD_ONLY_CURSORS); 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(const wxString &Dsn, const wxString &Uid, const wxString &AuthStr); // Data Source Name, User ID, Password
bool Open(wxDbConnectInf *dbConnectInf); bool Open(wxDbConnectInf *dbConnectInf);
@@ -609,16 +614,16 @@ public:
wxDbSqlTypeInfo GetTypeInfFloat() {return typeInfFloat;} wxDbSqlTypeInfo GetTypeInfFloat() {return typeInfFloat;}
wxDbSqlTypeInfo GetTypeInfDate() {return typeInfDate;} 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 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=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=wxEmptyString); // tableName can refer to a table, view, alias or synonym
void LogError(const wxString &errMsg, const wxString &SQLState = wxT("")) { logError(errMsg, SQLState); } void LogError(const wxString &errMsg, const wxString &SQLState = wxEmptyString) { logError(errMsg, SQLState); }
void SetDebugErrorMessages(bool state) { silent = !state; } void SetDebugErrorMessages(bool state) { silent = !state; }
bool SetSqlLogging(wxDbSqlLogState state, const wxString &filename = SQL_LOG_FILENAME, bool append = FALSE); bool SetSqlLogging(wxDbSqlLogState state, const wxString &filename = SQL_LOG_FILENAME, bool append = FALSE);
bool WriteSqlLog(const wxString &logMsg); bool WriteSqlLog(const wxString &logMsg);
wxDBMS Dbms(void); wxDBMS Dbms(void);
bool ModifyColumn(const wxString &tableName, const wxString &columnName, bool ModifyColumn(const wxString &tableName, const wxString &columnName,
int dataType, ULONG columnLength=0, int dataType, ULONG columnLength=0,
const wxString &optionalParam=wxT("")); const wxString &optionalParam=wxEmptyString);
bool FwdOnlyCursors(void) {return fwdOnlyCursors;} bool FwdOnlyCursors(void) {return fwdOnlyCursors;}
@@ -673,8 +678,8 @@ bool wxDbSqlLog(wxDbSqlLogState state, const wxString &filename = SQL_LOG_FILENA
#if 0 #if 0
// MSW/VC6 ONLY!!! Experimental // MSW/VC6 ONLY!!! Experimental
int WXDLLEXPORT wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const wxString &description=wxT(""), int WXDLLEXPORT wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const wxString &description=wxEmptyString,
bool sysDSN=FALSE, const wxString &defDir=wxT(""), wxWindow *parent=NULL); bool sysDSN=FALSE, const wxString &defDir=wxEmptyString, wxWindow *parent=NULL);
#endif #endif
// This routine allows you to query a driver manager // This routine allows you to query a driver manager

View File

@@ -76,6 +76,10 @@ public:
bool DerivedCol; // Specifies whether this column is a derived value bool DerivedCol; // Specifies whether this column is a derived value
SDWORD CbValue; // Internal use only!!! SDWORD CbValue; // Internal use only!!!
bool Null; // NOT FULLY IMPLEMENTED - Allows NULL values in Inserts and Updates bool Null; // NOT FULLY IMPLEMENTED - Allows NULL values in Inserts and Updates
wxDbColDef();
bool Initialize();
}; // wxDbColDef }; // wxDbColDef
@@ -119,7 +123,7 @@ private:
bool getRec(UWORD fetchType); bool getRec(UWORD fetchType);
bool execDelete(const wxString &pSqlStmt); bool execDelete(const wxString &pSqlStmt);
bool execUpdate(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 #if !wxODBC_BACKWARD_COMPATABILITY
// these were public // these were public

View File

@@ -138,30 +138,36 @@ typedef struct
/********** wxDbConnectInf Constructor - form 1 **********/ /********** wxDbConnectInf Constructor - form 1 **********/
wxDbConnectInf::wxDbConnectInf() wxDbConnectInf::wxDbConnectInf()
{ {
Henv = 0;
freeHenvOnDestroy = FALSE;
Initialize(); Initialize();
} // Constructor } // Constructor
/********** wxDbConnectInf Constructor - form 2 **********/ /********** wxDbConnectInf Constructor - form 2 **********/
wxDbConnectInf::wxDbConnectInf(HENV Henv, const wxString &Dsn, const wxString &UserID, wxDbConnectInf::wxDbConnectInf(HENV henv, const wxString &dsn, const wxString &userID,
const wxString &Password, const wxString &DefaultDir, const wxString &password, const wxString &defaultDir,
const wxString &FileType, const wxString &Description) const wxString &fileType, const wxString &description)
{ {
wxASSERT(Dsn.Length()); wxASSERT(dsn.Length());
Henv = 0;
freeHenvOnDestroy = FALSE;
Initialize(); Initialize();
if (Henv) if (henv)
SetHenv(Henv); SetHenv(henv);
else else
AllocHenv(); AllocHenv();
SetDsn(Dsn); SetDsn(dsn);
SetUserID(UserID); SetUserID(userID);
SetPassword(Password); SetPassword(password);
SetDescription(Description); SetDescription(description);
SetFileType(FileType); SetFileType(fileType);
SetDefaultDir(DefaultDir); SetDefaultDir(defaultDir);
} // wxDbConnectInf Constructor } // wxDbConnectInf Constructor
@@ -180,6 +186,9 @@ bool wxDbConnectInf::Initialize()
{ {
freeHenvOnDestroy = FALSE; freeHenvOnDestroy = FALSE;
if (freeHenvOnDestroy && Henv)
FreeHenv();
Henv = 0; Henv = 0;
Dsn[0] = 0; Dsn[0] = 0;
Uid[0] = 0; Uid[0] = 0;
@@ -368,6 +377,21 @@ int wxDbColFor::Format(int Nation, int dbDataType, SWORD sqlDataType,
/********** wxDbColInf Constructor **********/ /********** wxDbColInf Constructor **********/
wxDbColInf::wxDbColInf() wxDbColInf::wxDbColInf()
{
Initialize();
} // wxDbColInf::wxDbColInf()
/********** wxDbColInf Destructor ********/
wxDbColInf::~wxDbColInf()
{
if (pColFor)
delete pColFor;
pColFor = NULL;
} // wxDbColInf::~wxDbColInf()
bool wxDbColInf::Initialize()
{ {
catalog[0] = 0; catalog[0] = 0;
schema[0] = 0; schema[0] = 0;
@@ -387,26 +411,15 @@ wxDbColInf::wxDbColInf()
FkCol = 0; FkCol = 0;
FkTableName[0] = 0; FkTableName[0] = 0;
pColFor = NULL; pColFor = NULL;
} // wxDbColInf::wxDbColInf()
return TRUE;
/********** wxDbColInf Destructor ********/ } // wxDbColInf::Initialize()
wxDbColInf::~wxDbColInf()
{
if (pColFor)
delete pColFor;
pColFor = NULL;
} // wxDbColInf::~wxDbColInf()
/********** wxDbTableInf Constructor ********/ /********** wxDbTableInf Constructor ********/
wxDbTableInf::wxDbTableInf() wxDbTableInf::wxDbTableInf()
{ {
tableName[0] = 0; Initialize();
tableType[0] = 0;
tableRemarks[0] = 0;
numCols = 0;
pColInf = NULL;
} // wxDbTableInf::wxDbTableInf() } // wxDbTableInf::wxDbTableInf()
@@ -419,6 +432,18 @@ wxDbTableInf::~wxDbTableInf()
} // 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 Constructor *************/
wxDbInf::wxDbInf() wxDbInf::wxDbInf()
{ {
@@ -436,12 +461,14 @@ wxDbInf::~wxDbInf()
/********** wxDbInf::Initialize() *************/ /********** wxDbInf::Initialize() *************/
void wxDbInf::Initialize() bool wxDbInf::Initialize()
{ {
catalog[0] = 0; catalog[0] = 0;
schema[0] = 0; schema[0] = 0;
numTables = 0; numTables = 0;
pTableInf = NULL; pTableInf = NULL;
return TRUE;
} // wxDbInf::Initialize() } // wxDbInf::Initialize()
@@ -451,12 +478,14 @@ wxDb::wxDb(const HENV &aHenv, bool FwdOnlyCursors)
// Copy the HENV into the db class // Copy the HENV into the db class
henv = aHenv; henv = aHenv;
fwdOnlyCursors = FwdOnlyCursors; fwdOnlyCursors = FwdOnlyCursors;
Initialize();
initialize();
} // wxDb::wxDb() } // wxDb::wxDb()
/********** wxDb::Initialize() **********/ /********** PRIVATE! wxDb::initialize PRIVATE! **********/
void wxDb::Initialize() /********** wxDb::initialize() **********/
void wxDb::initialize()
/* /*
* Private member function that sets all wxDb member variables to * Private member function that sets all wxDb member variables to
* known values at creation of the wxDb * known values at creation of the wxDb
@@ -469,11 +498,11 @@ void wxDb::Initialize()
nTables = 0; nTables = 0;
dbmsType = dbmsUNIDENTIFIED; dbmsType = dbmsUNIDENTIFIED;
wxStrcpy(sqlState,wxT("")); wxStrcpy(sqlState,wxEmptyString);
wxStrcpy(errorMsg,wxT("")); wxStrcpy(errorMsg,wxEmptyString);
nativeError = cbErrorMsg = 0; nativeError = cbErrorMsg = 0;
for (i = 0; i < DB_MAX_ERROR_HISTORY; i++) for (i = 0; i < DB_MAX_ERROR_HISTORY; i++)
wxStrcpy(errorList[i], wxT("")); wxStrcpy(errorList[i], wxEmptyString);
// Init typeInf structures // Init typeInf structures
typeInfVarchar.TypeName.Empty(); typeInfVarchar.TypeName.Empty();
@@ -512,7 +541,7 @@ void wxDb::Initialize()
// Mark database as not open as of yet // Mark database as not open as of yet
dbIsOpen = FALSE; dbIsOpen = FALSE;
} // wxDb::Initialize() } // wxDb::initialize()
/********** PRIVATE! wxDb::convertUserID PRIVATE! **********/ /********** 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 If using Intersolv branded ODBC drivers, this is the place where you would substitute
your branded driver license information your branded driver license information
SQLSetConnectOption(hdbc, 1041, (UDWORD) wxT("")); SQLSetConnectOption(hdbc, 1041, (UDWORD) wxEmptyString);
SQLSetConnectOption(hdbc, 1042, (UDWORD) wxT("")); SQLSetConnectOption(hdbc, 1042, (UDWORD) wxEmptyString);
*/ */
// Mark database as open // 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 If using Intersolv branded ODBC drivers, this is the place where you would substitute
your branded driver license information your branded driver license information
SQLSetConnectOption(hdbc, 1041, (UDWORD) wxT("")); SQLSetConnectOption(hdbc, 1041, (UDWORD) wxEmptyString);
SQLSetConnectOption(hdbc, 1042, (UDWORD) wxT("")); SQLSetConnectOption(hdbc, 1042, (UDWORD) wxEmptyString);
*/ */
// Mark database as open // Mark database as open
@@ -2073,8 +2102,8 @@ wxDbColInf *wxDb::GetColumns(wxChar *tableName[], const wxChar *userID)
if (!colInf) if (!colInf)
break; break;
// Mark the end of the array // Mark the end of the array
wxStrcpy(colInf[noCols].tableName,wxT("")); wxStrcpy(colInf[noCols].tableName,wxEmptyString);
wxStrcpy(colInf[noCols].colName,wxT("")); wxStrcpy(colInf[noCols].colName,wxEmptyString);
colInf[noCols].sqlDataType = 0; colInf[noCols].sqlDataType = 0;
} }
// Loop through each table name // Loop through each table name
@@ -2230,8 +2259,8 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh
if (!colInf) if (!colInf)
break; break;
// Mark the end of the array // Mark the end of the array
wxStrcpy(colInf[noCols].tableName, wxT("")); wxStrcpy(colInf[noCols].tableName, wxEmptyString);
wxStrcpy(colInf[noCols].colName, wxT("")); wxStrcpy(colInf[noCols].colName, wxEmptyString);
colInf[noCols].sqlDataType = 0; colInf[noCols].sqlDataType = 0;
} }
@@ -2420,8 +2449,8 @@ wxDbColInf *wxDb::GetColumns(wxChar *tableName[], const wxChar *userID)
wxDbColInf *colInf = new wxDbColInf[noCols+1]; wxDbColInf *colInf = new wxDbColInf[noCols+1];
// Mark the end of the array // Mark the end of the array
wxStrcpy(colInf[noCols].tableName, wxT("")); wxStrcpy(colInf[noCols].tableName, wxEmptyString);
wxStrcpy(colInf[noCols].colName, wxT("")); wxStrcpy(colInf[noCols].colName, wxEmptyString);
colInf[noCols].sqlDataType = 0; colInf[noCols].sqlDataType = 0;
// Merge ... // Merge ...
@@ -2483,8 +2512,8 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh
if (!colInf) if (!colInf)
break; break;
// Mark the end of the array // Mark the end of the array
wxStrcpy(colInf[noCols].tableName, wxT("")); wxStrcpy(colInf[noCols].tableName, wxEmptyString);
wxStrcpy(colInf[noCols].colName, wxT("")); wxStrcpy(colInf[noCols].colName, wxEmptyString);
colInf[noCols].sqlDataType = 0; colInf[noCols].sqlDataType = 0;
} }

View File

@@ -102,7 +102,32 @@ ULONG lastTableID = 0;
#endif #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, wxDbTable::wxDbTable(wxDb *pwxDb, const wxString &tblName, const int nCols,
const wxString &qryTblName, bool qryOnly, const wxString &tblPath) const wxString &qryTblName, bool qryOnly, const wxString &tblPath)
{ {