Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef databaseInterface_H_
00010 #define databaseInterface_H_
00011
00012 #include "vlDatabase.h"
00013 #include <vector>
00014
00015 class DtString;
00016
00018 class DtDatabaseColumn;
00019 class DtDatabaseCommandFactory;
00020 class DtDatabaseCommandProcessor;
00021 class DtDatabaseConnection;
00022 class DtDatabaseDriver;
00023 class DtDatabaseEnvironment;
00024 class DtDatabaseParameters;
00025 class DtDatabaseTable;
00026
00029 class DT_DLL_VLDB DtDatabaseInterface
00030 {
00031 public:
00032
00033 enum ConditionOperator
00034 {
00035 Equals,
00036 NotEquals
00037 };
00038
00039 enum MergeOperator
00040 {
00041 And,
00042 Or
00043 };
00044
00047 explicit DtDatabaseInterface(const DtDatabaseDriver* databaseDriver);
00048
00050 virtual ~DtDatabaseInterface();
00051
00053 DtDatabaseParameters* createDefaultParameters() const;
00054
00059 virtual bool connect( DtDatabaseParameters* params, bool useMaster);
00060
00062 virtual bool disconnect();
00063
00065 virtual unsigned int maximumColumnWidth();
00066
00068 virtual bool executeCommand( const DtString& sqlCommand );
00069
00072 virtual bool createDatabase( const DtString& databaseName );
00073
00076 virtual bool deleteDatabase( const DtString& databaseName );
00077
00080 virtual bool createDataSourceName(DtDatabaseParameters* params,
00081 bool useMaster);
00082
00085 virtual bool createTable( const DtDatabaseTable& tableDef, bool deleteIfExists);
00086
00090 virtual bool insertRow( const DtDatabaseTable& tableDef );
00091
00093 virtual bool updateRow( const DtDatabaseTable& tableDef,
00094 const std::vector<DtString>& columnsToSet,
00095 const DtString& whereCondition);
00096
00098 virtual DtString createConditionString(const DtDatabaseColumn& column,
00099 const DtString& columnValue,ConditionOperator anOperator);
00100
00102 virtual DtString combineConditionStrings(const DtString& conditionOne,
00103 const DtString& conditionTwo,MergeOperator anOperator);
00104
00106 void setIsMasterDSN( bool yesNo );
00107 bool isMasterDSN() const;
00108
00110 void setCreateDsnFailed( bool yesNo );
00111 bool createDsnFailed() const;
00112
00113 protected:
00114 const DtDatabaseDriver* myDriver;
00115 DtDatabaseEnvironment* myEnvironment;
00116 DtDatabaseConnection* myConnection;
00117 DtDatabaseCommandProcessor* myCommandProcessor;
00118 DtDatabaseCommandFactory* myCommandFactory;
00119
00121 bool myIsMaster;
00122 bool myCreateDsnFailed;
00123 };
00124
00125 #endif