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}
\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
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
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}
If the function returns a FALSE value due to the table not existing, a log

View File

@ -205,7 +205,7 @@ public:
virtual ~wxDbTable();
bool Open(bool checkPrivileges=FALSE);
bool Open(bool checkPrivileges=FALSE, bool checkTableExists=TRUE);
bool CreateTable(bool attemptDrop=TRUE);
bool DropTable(void);
bool CreateIndex(const wxString &idxName, bool unique, int noIdxCols,
@ -215,7 +215,7 @@ public:
// Accessors
// 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
wxDb *GetDb() { return pDb; }
const wxString &GetTableName() { return tableName; }
@ -223,7 +223,6 @@ public:
const wxString &GetTablePath() { return tablePath; }
int GetNumberOfColumns() { return noCols; } // number of "defined" columns for this wxDbTable instance
const wxString &GetFromClause() { return from; }
const wxString &GetOrderByClause() { return orderBy; }

View File

@ -694,7 +694,7 @@ bool wxDbTable::query(int queryType, bool forUpdate, bool distinct, const wxStri
/********** wxDbTable::Open() **********/
bool wxDbTable::Open(bool checkPrivileges)
bool wxDbTable::Open(bool checkPrivileges, bool checkTableExists)
{
if (!pDb)
return FALSE;
@ -705,7 +705,7 @@ bool wxDbTable::Open(bool checkPrivileges)
s.Empty();
// 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");
if ( *(pDb->dbInf.accessibleTables) == wxT('Y'))