X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90e572f1e5af1e51fd14e2e1e6f64fa3e258e590..81051829457fc8fd271d16601d74218f345f9e6b:/include/wx/db.h diff --git a/include/wx/db.h b/include/wx/db.h index edc4b293ee..0c9b196a2b 100644 --- a/include/wx/db.h +++ b/include/wx/db.h @@ -41,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, @@ -62,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 @@ -79,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 @@ -158,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; @@ -328,38 +326,38 @@ class WXDLLIMPEXP_ODBC wxDbConnectInf void FreeHenv(); // Accessors - const HENV &GetHenv() { return Henv; }; + const HENV &GetHenv() { return Henv; } - const wxChar *GetDsn() { return Dsn; }; + const wxChar *GetDsn() { return Dsn; } - const wxChar *GetUid() { return Uid; }; - const wxChar *GetUserID() { return Uid; }; + const wxChar *GetUid() { return Uid; } + const wxChar *GetUserID() { return Uid; } - const wxChar *GetAuthStr() { return AuthStr; }; - const wxChar *GetPassword() { return AuthStr; }; + const wxChar *GetAuthStr() { return AuthStr; } + const wxChar *GetPassword() { return AuthStr; } - const wxChar *GetConnectionStr() { return ConnectionStr; }; - bool UseConnectionStr() { return useConnectionStr; }; + const wxChar *GetConnectionStr() { return ConnectionStr; } + bool UseConnectionStr() { return useConnectionStr; } - const wxChar *GetDescription() { return Description; }; - const wxChar *GetFileType() { return FileType; }; - const wxChar *GetDefaultDir() { return DefaultDir; }; + const wxChar *GetDescription() { return Description; } + const wxChar *GetFileType() { return FileType; } + const wxChar *GetDefaultDir() { return DefaultDir; } - void SetHenv(const HENV henv) { Henv = henv; }; + void SetHenv(const HENV henv) { Henv = henv; } void SetDsn(const wxString &dsn); void SetUserID(const wxString &userID); - void SetUid(const wxString &uid) { SetUserID(uid); }; + void SetUid(const wxString &uid) { SetUserID(uid); } void SetPassword(const wxString &password); - void SetAuthStr(const wxString &authstr) { SetPassword(authstr); }; + void SetAuthStr(const wxString &authstr) { SetPassword(authstr); } void SetConnectionStr(const wxString &connectStr); - void SetDescription(const wxString &desc) { Description = desc; }; - void SetFileType(const wxString &fileType) { FileType = fileType; }; - void SetDefaultDir(const wxString &defDir) { DefaultDir = defDir; }; + void SetDescription(const wxString &desc) { Description = desc; } + void SetFileType(const wxString &fileType) { FileType = fileType; } + void SetDefaultDir(const wxString &defDir) { DefaultDir = defDir; } }; // class wxDbConnectInf @@ -527,7 +525,7 @@ private: bool getDataTypeInfo(SWORD fSqlType, wxDbSqlTypeInfo &structSQLTypeInfo); bool setConnectionOptions(void); void logError(const wxString &errMsg, const wxString &SQLState); - const wxChar *convertUserID(const wxChar *userID, wxString &UserID); + void convertUserID(const wxChar *userID, wxString &UserID); bool determineDataTypes(bool failOnDataTypeUnsupported); void initialize(); bool open(bool failOnDataTypeUnsupported=true); @@ -555,12 +553,13 @@ private: wxDbSqlTypeInfo typeInfFloat; wxDbSqlTypeInfo typeInfDate; wxDbSqlTypeInfo typeInfBlob; + wxDbSqlTypeInfo typeInfMemo; #endif public: - void setCached(bool cached) { dbIsCached = cached; }; // This function must only be called by wxDbGetConnection() and wxDbCloseConnections!!! - bool IsCached() { return dbIsCached; }; + void setCached(bool cached) { dbIsCached = cached; } // This function must only be called by wxDbGetConnection() and wxDbCloseConnections!!! + bool IsCached() { return dbIsCached; } bool GetDataTypeInfo(SWORD fSqlType, wxDbSqlTypeInfo &structSQLTypeInfo) { return getDataTypeInfo(fSqlType, structSQLTypeInfo); } @@ -694,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, @@ -724,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; }