Added a param to ::Open() to allow the programmer to specify whether opening the table should check if table exists

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
George Tasker 2001-04-10 10:43:51 +00:00
parent 04a429cb8a
commit 1454d4e659
3 changed files with 8 additions and 6 deletions

View File

@ -3110,7 +3110,7 @@ wxDbTable instance that would modify (insert/delete/update) the table's data.
\membersection{wxDbTable::Open}\label{wxdbtableopen} \membersection{wxDbTable::Open}\label{wxdbtableopen}
\func{bool }{Open}{\param{bool }{checkPrivileges=FALSE}} \func{bool }{Open}{\param{bool }{checkPrivileges=FALSE}, \param{bool }{checkTableExists=TRUE}}
Every wxDbTable instance must be opened before it can be used. This function Every wxDbTable instance must be opened before it can be used. This function
checks for the existence of the requested table, binds columns, creates required checks for the existence of the requested table, binds columns, creates required
@ -3124,6 +3124,9 @@ row in the datasource.
whether the current connected user has at least SELECT privileges to access the whether the current connected user has at least SELECT privileges to access the
table to which they are trying to open. Default is FALSE.} table to which they are trying to open. Default is FALSE.}
\docparam{checkTableExists}{Indicates whether the Open() function should check
whether the table exists in the database or not before opening it. Default is TRUE.}
\wxheading{Remarks} \wxheading{Remarks}
If the function returns a FALSE value due to the table not existing, a log If the function returns a FALSE value due to the table not existing, a log

View File

@ -205,7 +205,7 @@ public:
virtual ~wxDbTable(); virtual ~wxDbTable();
bool Open(bool checkPrivileges=FALSE); bool Open(bool checkPrivileges=FALSE, bool checkTableExists=TRUE);
bool CreateTable(bool attemptDrop=TRUE); bool CreateTable(bool attemptDrop=TRUE);
bool DropTable(void); bool DropTable(void);
bool CreateIndex(const wxString &idxName, bool unique, int noIdxCols, bool CreateIndex(const wxString &idxName, bool unique, int noIdxCols,
@ -215,7 +215,7 @@ public:
// Accessors // Accessors
// The member variables returned by these accessors are all // The member variables returned by these accessors are all
// set when the wxDbTable instance is createand cannot be // set when the wxDbTable instance is created and cannot be
// changed, hence there is no corresponding SetXxxx function // changed, hence there is no corresponding SetXxxx function
wxDb *GetDb() { return pDb; } wxDb *GetDb() { return pDb; }
const wxString &GetTableName() { return tableName; } const wxString &GetTableName() { return tableName; }
@ -223,7 +223,6 @@ public:
const wxString &GetTablePath() { return tablePath; } const wxString &GetTablePath() { return tablePath; }
int GetNumberOfColumns() { return noCols; } // number of "defined" columns for this wxDbTable instance int GetNumberOfColumns() { return noCols; } // number of "defined" columns for this wxDbTable instance
const wxString &GetFromClause() { return from; } const wxString &GetFromClause() { return from; }
const wxString &GetOrderByClause() { return orderBy; } const wxString &GetOrderByClause() { return orderBy; }

View File

@ -694,7 +694,7 @@ bool wxDbTable::query(int queryType, bool forUpdate, bool distinct, const wxStri
/********** wxDbTable::Open() **********/ /********** wxDbTable::Open() **********/
bool wxDbTable::Open(bool checkPrivileges) bool wxDbTable::Open(bool checkPrivileges, bool checkTableExists)
{ {
if (!pDb) if (!pDb)
return FALSE; return FALSE;
@ -705,7 +705,7 @@ bool wxDbTable::Open(bool checkPrivileges)
s.Empty(); s.Empty();
// Verify that the table exists in the database // Verify that the table exists in the database
if (!pDb->TableExists(tableName,/*pDb->GetUsername()*/NULL,tablePath)) if (checkTableExists && !pDb->TableExists(tableName,/*pDb->GetUsername()*/NULL,tablePath))
{ {
s = wxT("Table/view does not exist in the database"); s = wxT("Table/view does not exist in the database");
if ( *(pDb->dbInf.accessibleTables) == wxT('Y')) if ( *(pDb->dbInf.accessibleTables) == wxT('Y'))