From f470a1b6cda50ae3f62a26e2cd4339a283359a89 Mon Sep 17 00:00:00 2001 From: Myun2 Date: Mon, 9 Apr 2012 06:56:36 +0900 Subject: [PATCH] =?utf8?q?db/sqlite3.hpp:=20=E4=BD=9C=E3=82=8A=E3=81=8B?= =?utf8?q?=E3=81=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- roast/include/roast/db/sqlite3.hpp | 50 ++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/roast/include/roast/db/sqlite3.hpp b/roast/include/roast/db/sqlite3.hpp index bda242dc..d068de3b 100644 --- a/roast/include/roast/db/sqlite3.hpp +++ b/roast/include/roast/db/sqlite3.hpp @@ -6,7 +6,7 @@ #ifndef __SFJP_ROAST__db__sqlite3_HPP__ #define __SFJP_ROAST__db__sqlite3_HPP__ -#include "sqlite3.h" +#include "sqlite3.h" // Require External Library #include "roast/db/base.hpp" #define ROAST_DB_SQLITE_MEMORY_DB ":memory:" @@ -21,11 +21,28 @@ namespace roast class driver : public driver_base { + private: + // SQL Select Callback. (in ROW) + static int _select_callback(void *p_result, + int column_count, char **values, char **colunm_name) + { + select_result &result = *((select_result*)p_result); + select_row rows; + + for(int i=0; i + void exec(const &_Command cmd, exec_callback callback) + { + + } + template <> + void exec(const char* cmd, exec_callback callback) + { + bool ret = true; + + char *szErrMsg = NULL; + if ( ::sqlite3_exec(m_device, cmd, _select_callback, &result, &szErrMsg) != SQLITE_OK ) + ret = false; + + if ( szErrMsg != NULL ) + ::sqlite3_free(szErrMsg); + + return ret; + } }; ////////////////////////////////////////////////////////////////////////////////////// -- 2.11.0