databaseInterface.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)