]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/db.h
wxMenu::Insert() seems to work, bug in wxMenuBase::Insert() is corrected
[wxWidgets.git] / include / wx / db.h
index 90f70ffa35968f22c3ebfc40640c6c6e16c1086d..f9054e0558681741737dd3a54d5d082f85212681 100644 (file)
        typedef double SDOUBLE; 
        typedef unsigned int UINT;
        #define ULONG UDWORD
+#elif defined(__WXMAC__)
+       extern "C" {
+       #include "../../src/iodbc/isql.h"
+       #include "../../src/iodbc/isqlext.h"
+       }
+       typedef float SFLOAT; 
+       typedef double SDOUBLE; 
+       typedef unsigned int UINT;
+       #define ULONG UDWORD
 #else  // msw
        #define ODBCVER 0x0250
        #include <sql.h>
        #include <sqlext.h>
 #endif
 
-#ifdef __UNIX__
+#ifdef __UNIX__ 
+/*
 #   ifndef strnicmp 
 #      define strnicmp strncasecmp 
 #   endif 
 #   ifndef stricmp 
 #      define stricmp strcasecmp 
 #   endif 
+*/
+#elif defined(__WXMAC__)
 #else 
 #   include <io.h> 
 #endif
@@ -283,7 +295,8 @@ enum dbms
        dbmsMY_SQL,
        dbmsPOSTGRES,
        dbmsACCESS,
-       dbmsDBASE
+       dbmsDBASE,
+       dbmsINFORMIX
 };
 
 typedef enum dbms DBMS;
@@ -313,7 +326,9 @@ private:
        bool getDbInfo(void);
        bool getDataTypeInfo(SWORD fSqlType, SqlTypeInfo &structSQLTypeInfo);
        bool setConnectionOptions(void);
-       void logError(char *errMsg, char *SQLState);
+       void logError(const char *errMsg, const char *SQLState);
+
+       bool                    fwdOnlyCursors;
 
 public:
 
@@ -380,7 +395,7 @@ public:
        SqlTypeInfo typeInfVarchar, typeInfInteger, typeInfFloat, typeInfDate;
        
        // Public member functions
-       wxDB(HENV &aHenv);
+       wxDB(HENV &aHenv, bool FwdOnlyCursors=(bool)TRUE);
        bool             Open(char *Dsn, char *Uid, char *AuthStr);  // Data Source Name, User ID, Password
        void             Close(void);
        bool             CommitTrans(void);
@@ -388,15 +403,15 @@ public:
        bool             DispAllErrors(HENV aHenv, HDBC aHdbc = SQL_NULL_HDBC, HSTMT aHstmt = SQL_NULL_HSTMT);
        bool             GetNextError(HENV aHenv, HDBC aHdbc = SQL_NULL_HDBC, HSTMT aHstmt = SQL_NULL_HSTMT);
        void             DispNextError(void);
-       bool             CreateView(char *viewName, char *colList, char *pSqlStmt, bool attemptDrop=TRUE);
-       bool             DropView(char *viewName);
-       bool             ExecSql(char *pSqlStmt);
+       bool             CreateView(const char *viewName, const char *colList, const char *pSqlStmt, bool attemptDrop=TRUE);
+       bool             DropView(const char *viewName);
+       bool             ExecSql(const char *pSqlStmt);
        bool             GetNext(void);
        bool             GetData(UWORD colNo, SWORD cType, PTR pData, SDWORD maxLen, SDWORD FAR *cbReturned);
-       bool        Grant(int privileges, char *tableName, char *userList = "PUBLIC");
-       int         TranslateSqlState(char *SQLState);
-       bool             Catalog(char *userID, char *fileName = "Catalog.txt");
-       CcolInf *GetColumns(char *tableName[], char *userID=NULL);
+       bool        Grant(int privileges, const char *tableName, const char *userList = "PUBLIC");
+       int         TranslateSqlState(const char *SQLState);
+       bool             Catalog(const char *userID, const char *fileName = "Catalog.txt");
+       CcolInf *GetColumns(char *tableName[], const char *userID=NULL);
        char            *GetDatabaseName(void)  {return dbInf.dbmsName;}
        char            *GetDataSource(void)            {return dsn;}
        char            *GetUsername(void)                      {return uid;}
@@ -405,11 +420,12 @@ public:
        HENV             GetHENV(void)                          {return henv;}
        HDBC             GetHDBC(void)                          {return hdbc;}
        HSTMT            GetHSTMT(void)                         {return hstmt;}
-       bool             TableExists(char *tableName, char *userID=NULL, char *path=NULL);  // Table name can refer to a table, view, alias or synonym
-       void             LogError(char *errMsg, char *SQLState = 0) {logError(errMsg, SQLState);}
-       bool             SqlLog(enum sqlLog state, char *filename = "sqllog.txt", bool append = FALSE);
-       bool             WriteSqlLog(char *logMsg);
+       bool             TableExists(const char *tableName, const char *userID=NULL, const char *path=NULL);  // Table name can refer to a table, view, alias or synonym
+       void             LogError(const char *errMsg, const char *SQLState = 0) {logError(errMsg, SQLState);}
+       bool             SqlLog(enum sqlLog state, const char *filename = "sqllog.txt", bool append = FALSE);
+       bool             WriteSqlLog(const char *logMsg);
        DBMS             Dbms(void);
+       bool             FwdOnlyCursors(void) {return fwdOnlyCursors;}
 
 };  // wxDB
 
@@ -428,7 +444,7 @@ struct DbList
 };
 
 
-#if __WXDEBUG__ > 0
+#ifdef __WXDEBUG__
 #include "wx/object.h"
 class CstructTablesInUse : public wxObject
 {
@@ -443,19 +459,19 @@ class CstructTablesInUse : public wxObject
 // for other code segments to use, or close all of them when the application has
 // completed.
 
-wxDB* WXDLLEXPORT GetDbConnection(DbStuff *pDbStuff);
+wxDB WXDLLEXPORT *GetDbConnection(DbStuff *pDbStuff, bool FwdOnlyCursors=(bool)TRUE);
 bool  WXDLLEXPORT FreeDbConnection(wxDB *pDb);
 void  WXDLLEXPORT CloseDbConnections(void);
 int   WXDLLEXPORT NumberDbConnectionsInUse(void);
 
 // This function sets the sql log state for all open wxDB objects
-bool SqlLog(enum sqlLog state, char *filename = "sqllog.txt");
+bool SqlLog(enum sqlLog state, const char *filename = "sqllog.txt");
 
 // This routine allows you to query a driver manager
 // for a list of available datasources.  Call this routine
 // the first time using SQL_FETCH_FIRST.  Continue to call it
 // using SQL_FETCH_NEXT until you've exhausted the list.
-bool WXDLLEXPORT GetDataSource(HENV henv, char *Dsn, SWORD DsnMax, char *DsDesc, SWORD DsDescMax,
+bool WXDLLEXPORT GetDataSource(HENV henv, const char *Dsn, SWORD DsnMax, const char *DsDesc, SWORD DsDescMax,
                                                 UWORD direction = SQL_FETCH_NEXT);
 
 #endif