![]() |
Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members
Session.hGo to the documentation of this file.00001 /* 00002 ** Session.h 00003 ** 00004 ** Published / author: 2006-03-29 / grymse@alhem.net 00005 **/ 00006 /* 00007 Copyright (C) 2006 Anders Hedstrom 00008 00009 This program is free software; you can redistribute it and/or 00010 modify it under the terms of the GNU General Public License 00011 as published by the Free Software Foundation; either version 2 00012 of the License, or (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00022 */ 00023 #ifndef _SESSION_H 00024 #define _SESSION_H 00025 00026 #include <string> 00027 #include <vector> 00028 00029 00030 #ifdef ODBCW_NAMESPACE 00031 namespace ODBCW_NAMESPACE { 00032 #endif 00033 00034 class Database; 00035 00037 class Session 00038 { 00039 public: 00040 Session(); 00041 virtual ~Session(); 00042 00043 int Connect(Database& ,const std::string&); 00044 int Connect(Database& ,const std::string& ,const std::string& ,const std::string&); 00045 void Disconnect(); 00046 00047 void *GetHandle(); 00048 void ShowErrorInfo(SQLRETURN, SQLSMALLINT, SQLHANDLE); 00049 00050 int GetLastError(std::string& strSqlState, std::string& strErrorMessage); 00051 void ResetLastError(); 00052 00053 void SetBusy(bool); 00054 bool IsBusy(); 00055 00056 private: 00057 static SQLHENV m_henv; 00058 SQLHDBC m_hdbc; 00059 bool m_bBusy; 00060 00061 int m_nLastError; 00062 std::string m_strLastErrorSqlState; 00063 std::string m_strLastErrorMessage; 00064 }; 00065 00066 00067 #ifdef ODBCW_NAMESPACE 00068 } // namespace ODBCW_NAMESPACE { 00069 #endif 00070 #endif // _SESSION_H |