WORM 0.2
A C++ DAL/ORM code generation framework
|
00001 /* 00002 WORM - a DAL/ORM code generation framework 00003 Copyright (C) 2011 Erik Winn <erikwinnmail@yahoo.com> 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00019 00020 #ifndef WMYSQLDRIVER_H 00021 #define WMYSQLDRIVER_H 00022 00023 #include "wsqldriver.h" 00024 #include <mysql/mysql.h> 00025 00026 00027 namespace WSql 00028 { 00029 00030 00031 class WMysqlDriver : public WSqlDriver 00032 { 00033 00034 public: 00035 WMysqlDriver( WSqlDatabase* db ); 00036 ~WMysqlDriver(); 00037 bool open(); 00038 void close(); 00039 bool query(std::string sql ); 00040 // bool execute(std::string sql ); 00041 WSqlResult* result(bool iscached=true); 00042 // WSqlResult exec(const WSqlQuery &queryObject); 00043 std::vector<std::string> tableNames(); 00044 WSqlTable tableMetaData( const std::string &tableName ); 00045 bool isOpen(); 00046 00047 private: 00048 bool init(); 00049 std::string local_escape_string( std::string& escapeme); 00050 void initColumnType(WSqlColumn &clm, std::string description); 00051 00052 MYSQL * _mysql; 00053 00054 }; 00055 00056 00057 } // namespace WSql 00058 00059 #endif // WMYSQLDRIVER_H