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();
wxDbColInf();
~wxDbColInf();
+
+ bool Initialize();
};
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();
};
wxDbInf();
~wxDbInf();
- void Initialize();
+ bool Initialize();
};
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
// 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);
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;}
#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
/********** 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
{
freeHenvOnDestroy = FALSE;
+ if (freeHenvOnDestroy && Henv)
+ FreeHenv();
+
Henv = 0;
Dsn[0] = 0;
Uid[0] = 0;
/********** 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;
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()
} // 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()
{
/********** wxDbInf::Initialize() *************/
-void wxDbInf::Initialize()
+bool wxDbInf::Initialize()
{
catalog[0] = 0;
schema[0] = 0;
numTables = 0;
pTableInf = NULL;
+
+ return TRUE;
} // wxDbInf::Initialize()
// 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
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();
// Mark database as not open as of yet
dbIsOpen = FALSE;
-} // wxDb::Initialize()
+} // wxDb::initialize()
/********** PRIVATE! wxDb::convertUserID PRIVATE! **********/
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
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
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
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;
}
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 ...
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;
}