]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dbtable.h
added test for __MACH__ for Mac OS X compilation
[wxWidgets.git] / include / wx / dbtable.h
index 203f453ad42869c6d823b066f4a511fe7b886867..21f633e92d3852693db21e1cf8eadd29e3d6d4d1 100644 (file)
@@ -50,6 +50,10 @@ const int   wxDB_DEFAULT_CURSOR  = 0;
 const bool  wxDB_QUERY_ONLY      = TRUE;
 const bool  wxDB_DISABLE_VIEW    = TRUE;
 
 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
 // 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        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
 
 #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,
 #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();
 
     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);
     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; }
 #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            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);
 #endif
     int             Insert(void);
     bool            Update(void);
@@ -243,24 +254,25 @@ public:
     UWORD           GetRowNum(void);
 
     void            BuildSelectStmt(char *pSqlStmt, int typeOfSelect, bool distinct);
     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); }
 #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); }
                            { 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, 
                            { 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);
                            { 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; }
     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);
     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
 #ifdef __WXDEBUG__
     ULONG           GetTableID() { return tableID; }
 #endif