]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/db.h
Doesn't reset the stream pos to 0 in CanRead().
[wxWidgets.git] / include / wx / db.h
index 4faa42317d49efd1ea01869cf37d7839ffb69e69..d28a0305a8e64ea91325ed49ab2bb9cbb0815636 100644 (file)
 #endif
 
 #ifdef __UNIX__ 
 #endif
 
 #ifdef __UNIX__ 
+/*
 #   ifndef strnicmp 
 #      define strnicmp strncasecmp 
 #   endif 
 #   ifndef stricmp 
 #      define stricmp strcasecmp 
 #   endif 
 #   ifndef strnicmp 
 #      define strnicmp strncasecmp 
 #   endif 
 #   ifndef stricmp 
 #      define stricmp strcasecmp 
 #   endif 
+*/
 #elif defined(__WXMAC__)
 #else 
 #   include <io.h> 
 #elif defined(__WXMAC__)
 #else 
 #   include <io.h> 
@@ -293,7 +295,8 @@ enum dbms
        dbmsMY_SQL,
        dbmsPOSTGRES,
        dbmsACCESS,
        dbmsMY_SQL,
        dbmsPOSTGRES,
        dbmsACCESS,
-       dbmsDBASE
+       dbmsDBASE,
+       dbmsINFORMIX
 };
 
 typedef enum dbms DBMS;
 };
 
 typedef enum dbms DBMS;
@@ -323,7 +326,9 @@ private:
        bool getDbInfo(void);
        bool getDataTypeInfo(SWORD fSqlType, SqlTypeInfo &structSQLTypeInfo);
        bool setConnectionOptions(void);
        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:
 
 
 public:
 
@@ -390,7 +395,7 @@ public:
        SqlTypeInfo typeInfVarchar, typeInfInteger, typeInfFloat, typeInfDate;
        
        // Public member functions
        SqlTypeInfo typeInfVarchar, typeInfInteger, typeInfFloat, typeInfDate;
        
        // Public member functions
-       wxDB(HENV &aHenv);
+       wxDB(HENV &aHenv, bool FwdOnlyCursors=(bool)wxODBC_FWD_ONLY_CURSORS);
        bool             Open(char *Dsn, char *Uid, char *AuthStr);  // Data Source Name, User ID, Password
        void             Close(void);
        bool             CommitTrans(void);
        bool             Open(char *Dsn, char *Uid, char *AuthStr);  // Data Source Name, User ID, Password
        void             Close(void);
        bool             CommitTrans(void);
@@ -398,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             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             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;}
        char            *GetDatabaseName(void)  {return dbInf.dbmsName;}
        char            *GetDataSource(void)            {return dsn;}
        char            *GetUsername(void)                      {return uid;}
@@ -415,11 +420,12 @@ public:
        HENV             GetHENV(void)                          {return henv;}
        HDBC             GetHDBC(void)                          {return hdbc;}
        HSTMT            GetHSTMT(void)                         {return hstmt;}
        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);
        DBMS             Dbms(void);
+       bool             FwdOnlyCursors(void) {return fwdOnlyCursors;}
 
 };  // wxDB
 
 
 };  // wxDB
 
@@ -453,19 +459,19 @@ class CstructTablesInUse : public wxObject
 // for other code segments to use, or close all of them when the application has
 // completed.
 
 // 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)wxODBC_FWD_ONLY_CURSORS);
 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  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.
 
 // 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
                                                 UWORD direction = SQL_FETCH_NEXT);
 
 #endif