X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/aa277f4ce21ad60de03d11f98742b1051cd903bc..f21a7f94fc140318308cc1c5bc1d63ea2b4c62c7:/include/wx/db.h diff --git a/include/wx/db.h b/include/wx/db.h index e5c4d1fed0..f9054e0558 100644 --- a/include/wx/db.h +++ b/include/wx/db.h @@ -47,7 +47,6 @@ #ifdef __GNUG__ #pragma interface "db.h" #endif - #include "wx/filefn.h" #endif #if defined(wx_msw) || defined(__WXMSW__) || defined(WIN32) @@ -70,19 +69,31 @@ 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 #include #endif -#ifdef __UNIX__ +#ifdef __UNIX__ +/* # ifndef strnicmp # define strnicmp strncasecmp # endif # ifndef stricmp # define stricmp strcasecmp # endif +*/ +#elif defined(__WXMAC__) #else # include #endif @@ -284,7 +295,8 @@ enum dbms dbmsMY_SQL, dbmsPOSTGRES, dbmsACCESS, - dbmsDBASE + dbmsDBASE, + dbmsINFORMIX }; typedef enum dbms DBMS; @@ -314,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: @@ -381,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); @@ -389,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;} @@ -406,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 @@ -429,7 +444,7 @@ struct DbList }; -#if __WXDEBUG__ > 0 +#ifdef __WXDEBUG__ #include "wx/object.h" class CstructTablesInUse : public wxObject { @@ -444,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