X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/11bfe4bfdc79b0374a0f287dac80efa262b365a7..68a9527d5185cdd9d3fef3d9421415c50de8794d:/include/wx/db.h?ds=sidebyside diff --git a/include/wx/db.h b/include/wx/db.h index 8f142aee19..7c3924b57d 100644 --- a/include/wx/db.h +++ b/include/wx/db.h @@ -31,10 +31,6 @@ #define OLD_GETCOLUMNS 1 #define EXPERIMENTAL_WXDB_FUNCTIONS 1 -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "db.h" -#endif - #include "wx/defs.h" #include "wx/string.h" @@ -45,12 +41,7 @@ #if wxUSE_MFC #include #else // !wxUSE_MFC - #ifndef STRICT - #define STRICT 1 - #endif - - #include - #include "wx/msw/winundef.h" + #include "wx/msw/wrapwin.h" #endif // wxUSE_MFC/!wxUSE_MFC // If you use the wxDbCreateDataSource() function with MSW/VC6, @@ -66,9 +57,8 @@ //#endif #include "odbcinst.h" #else - #if defined(__WINDOWS__) && ( defined(HAVE_W32API_H) || defined(__BORLANDC__) ) - #include - #include "wx/msw/winundef.h" + #if defined(__WINDOWS__) && ( defined(HAVE_W32API_H) || defined(__BORLANDC__) || defined (__DMC__)) + #include "wx/msw/wrapwin.h" #endif extern "C" { #if defined(wxUSE_BUILTIN_IODBC) && wxUSE_BUILTIN_IODBC @@ -83,13 +73,16 @@ typedef UCHAR SQLTCHAR; #endif #endif - #else + #else // !wxUSE_BUILTIN_IODBC + // SQL headers define BOOL if it's not defined yet but BOOL is also + // defined in many other places on other systems (Motif, at least on + // OpenVMS; Cocoa and X11) so prevent the problem by defining it before + // including these headers + #define BOOL int #include #include - //#if wxUSE_UNICODE - // #include - //#endif - #endif + #undef BOOL + #endif // wxUSE_BUILTIN_IODBC/!wxUSE_BUILTIN_IODBC } #endif @@ -99,6 +92,14 @@ #define SQL_C_WXCHAR SQL_C_CHAR #endif +#ifdef __DIGITALMARS__ +#if wxUSE_UNICODE +typedef wxChar SQLTCHAR; +#else +typedef UCHAR SQLTCHAR; +#endif +#endif + typedef float SFLOAT; typedef double SDOUBLE; typedef unsigned int UINT; @@ -126,6 +127,15 @@ enum enumDummy {enumDum1}; #endif #endif +#ifndef _WIN64 +#ifndef SQLLEN +#define SQLLEN SQLINTEGER +#endif +#ifndef SQLULEN +#define SQLULEN SQLUINTEGER +#endif +#endif + const int wxDB_PATH_MAX = 254; extern WXDLLIMPEXP_DATA_ODBC(wxChar const *) SQL_LOG_FILENAME; @@ -145,6 +155,7 @@ const int DB_DATA_TYPE_INTEGER = 2; const int DB_DATA_TYPE_FLOAT = 3; const int DB_DATA_TYPE_DATE = 4; const int DB_DATA_TYPE_BLOB = 5; +const int DB_DATA_TYPE_MEMO = 6; const int DB_SELECT_KEYFIELDS = 1; const int DB_SELECT_WHERE = 2; @@ -363,10 +374,10 @@ struct WXDLLIMPEXP_ODBC wxDbSqlTypeInfo class WXDLLIMPEXP_ODBC wxDbColFor { public: - wxString s_Field; // Formated String for Output - wxString s_Format[7]; // Formated Objects - TIMESTAMP has the biggest (7) - wxString s_Amount[7]; // Formated Objects - amount of things that can be formatted - int i_Amount[7]; // Formated Objects - TT MM YYYY HH MM SS m + wxString s_Field; // Formatted String for Output + wxString s_Format[7]; // Formatted Objects - TIMESTAMP has the biggest (7) + wxString s_Amount[7]; // Formatted Objects - amount of things that can be formatted + int i_Amount[7]; // Formatted Objects - TT MM YYYY HH MM SS m int i_Nation; // 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US int i_dbDataType; // conversion of the 'sqlDataType' to the generic data type used by these classes SWORD i_sqlDataType; @@ -542,6 +553,7 @@ private: wxDbSqlTypeInfo typeInfFloat; wxDbSqlTypeInfo typeInfDate; wxDbSqlTypeInfo typeInfBlob; + wxDbSqlTypeInfo typeInfMemo; #endif public: @@ -652,7 +664,7 @@ public: bool ExecSql(const wxString &pSqlStmt); bool ExecSql(const wxString &pSqlStmt, wxDbColInf** columns, short& numcols); bool GetNext(void); - bool GetData(UWORD colNo, SWORD cType, PTR pData, SDWORD maxLen, SDWORD FAR *cbReturned); + bool GetData(UWORD colNo, SWORD cType, PTR pData, SDWORD maxLen, SQLLEN FAR *cbReturned); bool Grant(int privileges, const wxString &tableName, const wxString &userList = wxT("PUBLIC")); int TranslateSqlState(const wxString &SQLState); wxDbInf *GetCatalog(const wxChar *userID=NULL); @@ -681,6 +693,7 @@ public: wxDbSqlTypeInfo GetTypeInfFloat() {return typeInfFloat;} wxDbSqlTypeInfo GetTypeInfDate() {return typeInfDate;} wxDbSqlTypeInfo GetTypeInfBlob() {return typeInfBlob;} + wxDbSqlTypeInfo GetTypeInfMemo() {return typeInfMemo;} // tableName can refer to a table, view, alias or synonym bool TableExists(const wxString &tableName, const wxChar *userID=NULL, @@ -711,6 +724,9 @@ public: bool FwdOnlyCursors(void) {return fwdOnlyCursors;} + // return the string with all special SQL characters escaped + wxString EscapeSqlChars(const wxString& value); + // These two functions are provided strictly for use by wxDbTable. // DO NOT USE THESE FUNCTIONS, OR MEMORY LEAKS MAY OCCUR void incrementTableCount() { nTables++; return; } @@ -789,7 +805,7 @@ wxDbGetDataSource(HENV henv, wxChar *Dsn, SWORD DsnMaxLength, wxChar *DsDesc, // Change this to 0 to remove use of all deprecated functions #if wxODBC_BACKWARD_COMPATABILITY //################################################################################# -//############### DEPRECATED functions for backward compatability ################# +//############### DEPRECATED functions for backward compatibility ################# //################################################################################# // Backward compability structures/classes. This will eventually go away