#ifndef __OLEDB_H__ #define __OLEDB_H__ #include #if defined(PLATFORM_WIN32) && defined(COMPILER_MSC) #define Font OleFont #define Picture OlePicture #include #include #include #include #include #include #undef Font #undef Picture NAMESPACE_UPP bool OleDBPerformScript(const String& text, StatementExecutor& executor, Gate2 progress_canceled = false); String OleDBTextType(int width); class OleDBSession : public SqlSession { public: OleDBSession(); virtual ~OleDBSession(); bool Open(String connect); bool Open(String user, String password, String datasource, String provider); bool OpenProp(String propset); void Close(); virtual void Begin(); virtual void Commit(); virtual void Rollback(); virtual String Savepoint(); virtual void RollbackTo(const String& savepoint); virtual bool IsOpen() const; virtual RunScript GetRunScript() const { return &OleDBPerformScript; } virtual Vector EnumUsers(); virtual Vector EnumDatabases(); virtual Vector EnumTables(String database); virtual Vector EnumViews(String database); virtual Vector EnumSequences(String database); virtual Vector EnumPrimaryKeys(String database, String table); virtual String EnumRowID(String database, String table); struct Provider { String name; String description; String guid; }; static Array EnumProviders(); protected: virtual SqlConnection *CreateConnection(); protected: friend class OleDBConnection; IRef dbinit; IRef dbsession; IRef transaction; IRef transaction_object; Link clink; Guid dialect; String user; int level; }; END_UPP_NAMESPACE #endif #endif//__OLEDB_H__