00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 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 // Request the creation of a database (currently, you must be connected to 00043 // a master database to perform this operation) 00044 virtual DtString createDatabase( const DtString& databaseName ) = 0; 00045 00046 // Request the creation of a database, if it exists (currently, you must be 00047 // connected to a master database to perform this operation) 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