#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"
#endif
#endif
#else
+ #if defined( __WXMOTIF__ ) && defined( __VMS )
+ // solves a type definition mismatch between IODBC and MOTIF on OpenVMS
+ #define BOOL int
+ #endif
#include <sql.h>
#include <sqlext.h>
//#if wxUSE_UNICODE
// #include <sqlucode.h>
//#endif
+ #if defined( __WXMOTIF__ ) && defined( __VMS )
+ #undef BOOL
+ #endif
#endif
}
#endif
#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;
#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;
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;
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;
wxDbSqlTypeInfo typeInfFloat;
wxDbSqlTypeInfo typeInfDate;
wxDbSqlTypeInfo typeInfBlob;
+ wxDbSqlTypeInfo typeInfMemo;
#endif
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);
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,
// 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