fintp_udal
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ODBCDatabaseProvider.h
Go to the documentation of this file.
1 /*
2 * FinTP - Financial Transactions Processing Application
3 * Copyright (C) 2013 Business Information Systems (Allevo) S.R.L.
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>
17 * or contact Allevo at : 031281 Bucuresti, 23C Calea Vitan, Romania,
18 * phone +40212554577, office@allevo.ro <mailto:office@allevo.ro>, www.allevo.ro.
19 */
20 
21 #ifndef ODBCDATABASEPROVIDER_H
22 #define ODBCDATABASEPROVIDER_H
23 
24 #include "../DatabaseProvider.h"
25 
26 namespace FinTP
27 {
29  {
34  public:
35 
36  ODBCDatabaseFactory( const string& provider ) : DatabaseProviderFactory( provider ) {}
38 
39  virtual Database* createDatabase() = 0;
40 
50  DataColumnBase* createColumn( DataType::DATA_TYPE columnType, unsigned int dimension, int scale, const string& name = "" );
58  static DataColumnBase* internalCreateColumn( DataType::DATA_TYPE columnType, unsigned int dimension, int scale, const string& name = "" );
59 
60  static short int getODBCSqlType( const DataType::DATA_TYPE type, const int dimension );
61  static short int getODBCDataType( const DataType::DATA_TYPE type );
62  static int getODBCParameterDirection( DataParameterBase::PARAMETER_DIRECTION paramDirection );
63  static DataType::DATA_TYPE getDataType( const short int type, const int dimension );
64 
65  string getParamPlaceholder( const unsigned int i ) const {
66  return "?";
67  }
68  string getParamPlaceholder( const string& paramname ) const {
69  return "?";
70  }
71  string getTrimFunc( const string& value ) const {
72  return string( "LTRIM(RTRIM(" ) + value + string( "))" );
73  }
74 
75  //void UploadUsingDad( const string& dadFileName, const string& xmlData, Database* currentDatabase, bool usingParams = false );
76  };
77 }
78 
79 #endif // ODBCDATABASEPROVIDER_H