Go to the documentation of this file.00001
00002
00003
00004
00005
00008
00009 #ifndef databaseCommandFactory_H_
00010 #define databaseCommandFactory_H_
00011
00012 #include "vlDatabase.h"
00013 #include <vector>
00014
00015 class DtDatabaseTable;
00016 class DtDatabaseColumn;
00017 class DtString;
00018
00021 class DT_DLL_VLDB DtDatabaseCommandFactory
00022 {
00023 public:
00024
00025 enum ConditionOperator
00026 {
00027 Equals,
00028 NotEquals
00029 };
00030
00031 enum MergeOperator
00032 {
00033 And,
00034 Or
00035 };
00037 DtDatabaseCommandFactory();
00038
00040 virtual ~DtDatabaseCommandFactory();
00041
00042
00043
00044 virtual DtString createDatabase( const DtString& databaseName ) = 0;
00045
00046
00047
00048 virtual DtString deleteDatabase( const DtString& dbName ) = 0;
00049
00051 virtual DtString createTable( const DtDatabaseTable& table) = 0;
00052
00054 virtual DtString deleteTable( const DtDatabaseTable& table) = 0;
00055
00057 virtual void insertTable( std::vector<DtString>& commands, const DtDatabaseTable& table) = 0;
00058
00060 virtual DtString updateTable( const DtDatabaseTable& table,
00061 const std::vector<DtString>& columnsToSet,
00062 const DtString& whereCondition) = 0;
00063
00065 virtual DtString createConditionString( const DtDatabaseColumn& column,
00066 const DtString& columnValue,ConditionOperator anOperator) = 0;
00067
00069 virtual DtString combineConditionStrings( const DtString& conditionOne,
00070 const DtString& conditionTwo, MergeOperator anOperator ) = 0;
00071
00072
00073 };
00074
00075 #endif