X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3ca6a5f04692678cd2d9f3ea0843fc3f5a0b254f..36195a44c32bcd2b14cd819ed675bc80fb2255bd:/include/wx/dbtable.h?ds=sidebyside diff --git a/include/wx/dbtable.h b/include/wx/dbtable.h index 203f453ad4..21f633e92d 100644 --- a/include/wx/dbtable.h +++ b/include/wx/dbtable.h @@ -50,6 +50,10 @@ const int wxDB_DEFAULT_CURSOR = 0; const bool wxDB_QUERY_ONLY = TRUE; const bool wxDB_DISABLE_VIEW = TRUE; +// Used to indicate end of a variable length list of +// column numbers passed to member functions +const int wxDB_NO_MORE_COLUMN_NUMBERS = -1; + // The following class is used to define a column of a table. // The wxDbTable constructor will dynamically allocate as many of // these as there are columns in the table. The class derived @@ -109,7 +113,7 @@ private: bool getRec(UWORD fetchType); bool execDelete(const char *pSqlStmt); bool execUpdate(const char *pSqlStmt); - bool query(int queryType, bool forUpdate, bool distinct, const char *pSqlStmt = 0); + bool query(int queryType, bool forUpdate, bool distinct, const char *pSqlStmt = NULL); #if !wxODBC_BACKWARD_COMPATABILITY // these were public @@ -181,10 +185,10 @@ public: #endif // Public member functions wxDbTable(wxDb *pwxDb, const char *tblName, const int nCols, - const char *qryTblName = 0, bool qryOnly = !wxDB_QUERY_ONLY, const char *tblPath=NULL); + const char *qryTblName = NULL, bool qryOnly = !wxDB_QUERY_ONLY, const char *tblPath=""); virtual ~wxDbTable(); - bool Open(void); + bool Open(bool checkPrivileges=FALSE); bool CreateTable(bool attemptDrop=TRUE); bool DropTable(void); bool CreateIndex(const char * idxName, bool unique, int noIdxCols, wxDbIdxDef *pIdxDefs, bool attemptDrop=TRUE); @@ -215,7 +219,14 @@ public: #else void SetFromClause(const wxString& From) { from = From; } void SetOrderByClause(const wxString& OrderBy) { orderBy = OrderBy; } + bool SetOrderByColNums(int first, ...); void SetWhereClause(const wxString& Where) { where = Where; } + void From(const wxString& From) { from = From; } + void OrderBy(const wxString& OrderBy) { orderBy = OrderBy; } + void Where(const wxString& Where) { where = Where; } + const char * Where() { return (const char *)where.c_str(); } + const char * OrderBy() { return (const char *)orderBy.c_str(); } + const char * From() { return (const char *)from.c_str(); } #endif int Insert(void); bool Update(void); @@ -243,24 +254,25 @@ public: UWORD GetRowNum(void); void BuildSelectStmt(char *pSqlStmt, int typeOfSelect, bool distinct); - void BuildDeleteStmt(char *pSqlStmt, int typeOfDel, const char *pWhereClause = 0); - void BuildUpdateStmt(char *pSqlStmt, int typeOfUpd, const char *pWhereClause = 0); - void BuildWhereClause(char *pWhereClause, int typeOfWhere, const char *qualTableName = 0, bool useLikeComparison=FALSE); + void BuildDeleteStmt(char *pSqlStmt, int typeOfDel, const char *pWhereClause = NULL); + void BuildUpdateStmt(char *pSqlStmt, int typeOfUpd, const char *pWhereClause = NULL); + void BuildWhereClause(char *pWhereClause, int typeOfWhere, const char *qualTableName = NULL, bool useLikeComparison=FALSE); #if wxODBC_BACKWARD_COMPATABILITY // The following member functions are deprecated. You should use the BuildXxxxxStmt functions (above) void GetSelectStmt(char *pSqlStmt, int typeOfSelect, bool distinct) { BuildSelectStmt(pSqlStmt,typeOfSelect,distinct); } - void GetDeleteStmt(char *pSqlStmt, int typeOfDel, const char *pWhereClause = 0) + void GetDeleteStmt(char *pSqlStmt, int typeOfDel, const char *pWhereClause = NULL) { BuildDeleteStmt(pSqlStmt,typeOfDel,pWhereClause); } - void GetUpdateStmt(char *pSqlStmt, int typeOfUpd, const char *pWhereClause = 0) + void GetUpdateStmt(char *pSqlStmt, int typeOfUpd, const char *pWhereClause = NULL) { BuildUpdateStmt(pSqlStmt,typeOfUpd,pWhereClause); } void GetWhereClause(char *pWhereClause, int typeOfWhere, - const char *qualTableName = 0, bool useLikeComparison=FALSE) + const char *qualTableName = NULL, bool useLikeComparison=FALSE) { BuildWhereClause(pWhereClause,typeOfWhere,qualTableName,useLikeComparison); } #endif bool CanSelectForUpdate(void); bool CanUpdByROWID(void); - void ClearMemberVars(void); + void ClearMemberVar(int colNo, bool setToNull=FALSE); + void ClearMemberVars(bool setToNull=FALSE); bool SetQueryTimeout(UDWORD nSeconds); wxDbColDef *GetColDefs() { return colDefs; } @@ -283,9 +295,13 @@ public: int DB_STATUS(void) { return(pDb->DB_STATUS); } bool IsColNull(int colNo); - bool SetNull(int colNo); - bool SetNull(const char *colName); - + bool SetColNull(int colNo, bool set=TRUE); + bool SetColNull(const char *colName, bool set=TRUE); +#if wxODBC_BACKWARD_COMPATABILITY +// The following member functions are deprecated. You should use the SetColNull() + bool SetNull(int colNo, bool set=TRUE) { return (SetNull(colNo,set)); } + bool SetNull(const char *colName, bool set=TRUE) { return (SetNull(colName,set)); } +#endif #ifdef __WXDEBUG__ ULONG GetTableID() { return tableID; } #endif