ODBC linux fix

git-svn-id: svn://ultimatepp.org/upp/trunk@909 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2009-02-27 14:30:40 +00:00
parent ad86d0668d
commit 89728be189
2 changed files with 63 additions and 59 deletions

View file

@ -1,59 +1,61 @@
#ifndef _ODBC_ODBC_h
#define _ODBC_ODBC_h
#include <Sql/Sql.h>
#include <sql.h>
#include <sqlext.h>
NAMESPACE_UPP
bool ODBCPerformScript(const String& text, StatementExecutor& executor, Gate2<int, int> progress_canceled = false);
String MSSQLTextType(int width);
class ODBCSession : public SqlSession {
public:
virtual void Begin();
virtual void Commit();
virtual void Rollback();
virtual String Savepoint();
virtual void RollbackTo(const String& savepoint);
virtual bool IsOpen() const;
virtual Vector<String> EnumUsers();
virtual Vector<String> EnumDatabases();
virtual Vector<String> EnumTables(String database);
virtual Vector<String> EnumViews(String database);
virtual Vector<String> EnumSequences(String database);
virtual Vector<String> EnumPrimaryKeys(String database, String table);
virtual String EnumRowID(String database, String table);
virtual RunScript GetRunScript() const { return &ODBCPerformScript; }
protected:
virtual SqlConnection *CreateConnection();
private:
friend class ODBCConnection;
HENV henv;
HDBC hdbc;
HSTMT hstmt;
String user;
int tlevel;
ODBCConnection *current;
void FlushConnections();
bool IsOk(SQLRETURN ret);
public:
bool Connect(const char *cs);
void Close();
ODBCSession();
~ODBCSession();
};
END_UPP_NAMESPACE
#endif
#ifndef _ODBC_ODBC_h
#define _ODBC_ODBC_h
#include <Sql/Sql.h>
#include <sql.h>
#include <sqlext.h>
NAMESPACE_UPP
bool ODBCPerformScript(const String& text, StatementExecutor& executor, Gate2<int, int> progress_canceled = false);
String MSSQLTextType(int width);
class ODBCConnection;
class ODBCSession : public SqlSession {
public:
virtual void Begin();
virtual void Commit();
virtual void Rollback();
virtual String Savepoint();
virtual void RollbackTo(const String& savepoint);
virtual bool IsOpen() const;
virtual Vector<String> EnumUsers();
virtual Vector<String> EnumDatabases();
virtual Vector<String> EnumTables(String database);
virtual Vector<String> EnumViews(String database);
virtual Vector<String> EnumSequences(String database);
virtual Vector<String> EnumPrimaryKeys(String database, String table);
virtual String EnumRowID(String database, String table);
virtual RunScript GetRunScript() const { return &ODBCPerformScript; }
protected:
virtual SqlConnection *CreateConnection();
private:
friend class ODBCConnection;
HENV henv;
HDBC hdbc;
HSTMT hstmt;
String user;
int tlevel;
ODBCConnection *current;
void FlushConnections();
bool IsOk(SQLRETURN ret);
public:
bool Connect(const char *cs);
void Close();
ODBCSession();
~ODBCSession();
};
END_UPP_NAMESPACE
#endif

View file

@ -3,6 +3,8 @@ uses
library(WIN32) odbc32;
library(!WIN32) odbc;
file
ODBC.h,
ODBC.cpp;