Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
ISQLDriver.h
Go to the documentation of this file.
1 //
5 //
6 
7 #ifndef _INC_ISQLDriver_H
8 #define _INC_ISQLDriver_H
9 #ifndef NO_PRAGMA_ONCE
10 #pragma once
11 #endif
12 
13 #include "cSQLConfig.h"
14 #include "../Variant/cVariant.h"
17 
18 namespace GrayLib
19 {
20  class cSQLCmd;
21 
23  {
26 
27  virtual HRESULT FillException(cSQLException* pEx) = 0;
28  };
29 
31  {
34 
35  virtual HRESULT CloseStatement(bool bDrop) = 0;
36  virtual HRESULT ExecuteAndFetch(bool bResultsExpected) = 0;
37  virtual void ExecCancel() = 0;
38  virtual HRESULT FetchNext(bool bMore = false) = 0;
39  virtual ITERATE_t ReadColumnCount() = 0;
40  virtual bool ReadColumnInfo(SQL_COLUMN_t iColumn, OUT cSQLColumnInfo& colInfo) = 0;
41  virtual bool GetColumnVar(SQL_COLUMN_t iColumn, cSQLColumnInfo* pColInfo, OUT cVariant& vValRet) = 0;
42  };
43 
45  {
48  virtual HRESULT OpenConnect(const cSQLConnectionString& rConnectionString, INT_PTR hParentWnd) = 0;
49  virtual bool Disconnect() = 0;
50  virtual HRESULT ReadConfigDB(OUT cSQLConfigDB& cfg) = 0;
51  virtual HRESULT EndTransaction(bool bCommit) = 0;
52  virtual ISQLStatement* AllocISQLStatement(const cSQLCmd& oCmd) = 0;
53  };
54 
56  {
60  virtual ISQLDatabase* AllocISQLDatabase(const cSQLConnectionString& rConnectionString) = 0;
61  };
62 
63 }
64 
65 #endif
66 
#define DECLARE_INTERFACE_(iface, baseiface)
Definition: SysTypes.h:331
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: ISQLDriver.h:22
Definition: ISQLDriver.h:44
Definition: ISQLDriver.h:55
Definition: ISQLDriver.h:30
Definition: IUnknown.h:68
Definition: cMesh.h:22
class __DECL_IMPORT cSQLCmd
Definition: cSQLDatabase.h:20
int SQL_COLUMN_t
what field/column/parameter number. 1 based. SQLUSMALLINT
Definition: cSQLBase.h:23
class __DECL_IMPORT cVariant
Definition: cJSONWriter.h:19
int ITERATE_t
like size_t but signed
Definition: Index.h:28