40 : m_pDB(pDB), m_pStmt(pStmt), m_nColumn(nColumn)
42 ASSERT(m_pStmt !=
nullptr);
47 double GetDouble()
const;
48 const GChar_t* GetTextPtr()
const;
60 operator double()
const
100 #define cSQLiteBase_DISAMBIG virtual HRESULT FillException(cSQLException* pException=nullptr) override { return SUPER_t::FillException(pException); }
120 if (m_bNeedResetBind)
137 virtual HRESULT CloseStatement(
bool bDrop)
override;
138 virtual HRESULT ExecuteAndFetch(
bool bResultsExpected)
override;
139 virtual void ExecCancel()
override;
140 virtual HRESULT FetchNext(
bool bMore =
false)
override;
141 virtual ITERATE_t ReadColumnCount()
override;
153 return DoBind(i, value);
160 return DoBind(i, value, nSize);
189 virtual bool Disconnect()
override;
193 return QueryInternal(queryStr);
199 return Query(
_GT(
"BEGIN;"))->ExecuteAndFetch(
false);
203 return Query(bCommit ?
_GT(
"COMMIT;") :
_GT(
"ROLLBACK;"))->ExecuteAndFetch(
false);
206 bool TableExists(
const GChar_t* tableName);
#define GRAYSQLITE_LINK
Definition: GraySQLite.h:16
#define _GT(x)
like _T(x) macro for static text.
Definition: StrConst.h:27
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
struct sqlite3 sqlite3
Definition: cSQLite.h:15
#define cSQLiteBase_DISAMBIG
Definition: cSQLite.h:100
struct sqlite3_stmt sqlite3_stmt
Definition: cSQLite.h:16
INT64 sqlite3_int64
Definition: cSQLite.h:17
Definition: cSQLConfig.h:103
Definition: cSQLBase.h:30
Definition: cSQLBase.h:56
Definition: cVariant.h:26
IUNKNOWN_DISAMBIG(SUPER_t)
int m_nNativeError
should be 'int' or SQL_RETURN_t ? SQLITE_OK, SQLITE_EMPTY
Definition: cSQLite.h:87
cSQLiteBase(::sqlite3 *pDB=nullptr)
Definition: cSQLite.h:93
::sqlite3 * m_pDB
Pointer to the native DB provider / connection.
Definition: cSQLite.h:86
cSQLiteColumn(::sqlite3 *pDB, ::sqlite3_stmt *pStmt, cSQLiteCol_t nColumn)
Definition: cSQLite.h:39
Definition: cSQLite.h:175
cSQLiteStatementPtr Query(const GChar_t *queryStr)
Definition: cSQLite.h:191
virtual HRESULT EndTransaction(bool bCommit) override
Definition: cSQLite.h:201
HRESULT BeginTransaction()
Definition: cSQLite.h:197
IUNKNOWN_DISAMBIG(SUPER_t)
Definition: cSQLite.h:106
HRESULT BindBlob(SQL_COLUMN_t i, const void *value, int nSize)
Definition: cSQLite.h:156
void ResetBindCheck()
Definition: cSQLite.h:118
HRESULT Bind(SQL_COLUMN_t i, const T &value)
Definition: cSQLite.h:149
bool m_bNeedResetBind
sqlite3_step has been called. need to call sqlite3_reset to clear binds to reuse this statement.
Definition: cSQLite.h:114
::sqlite3_stmt * m_pStmt
Statement in action.
Definition: cSQLite.h:113
HRESULT BindNull(SQL_COLUMN_t i)
Definition: cSQLite.h:162
IUNKNOWN_DISAMBIG(SUPER_t)
Definition: cRefPtr.h:225
Definition: ISQLDriver.h:44
Definition: ISQLDriver.h:30
int SQL_COLUMN_t
what field/column/parameter number. 1 based. SQLUSMALLINT
Definition: cSQLBase.h:23
Definition: GraySQLite.cpp:25
cRefPtr< cSQLiteStatement > cSQLiteStatementPtr
Definition: cSQLite.h:172
int cSQLiteCol_t
0 based columns. unlike SQL_COLUMN_t
Definition: cSQLite.h:24
int StrLen_t
the length of a string in chars (bytes for UTF8, wchar_t for UNICODE). or offset in characters....
Definition: StrConst.h:32
int ITERATE_t
like size_t but signed
Definition: Index.h:28
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22
char GChar_t
My version of TCHAR, _TCHAR.
Definition: StrConst.h:26
cStringT< GChar_t > cString
Definition: cString.h:636
Definition: cSQLConfig.h:29