2 #include "sqliteManager.h"
4 INLINE int SqliteManager_open(sqlite3 **pDb,LPCWSTR fileName,int flags,const char* zVfs){
7 char fileNameMB[_MAX_PATH];
9 WideToMB(CP_UTF8,fileName,fileNameMB,sizeof(fileNameMB));
11 rc = sqlite3_open_v2( fileNameMB,pDb, flags, zVfs);
14 if ( SQLITE_OK != rc ) {
15 SqliteManager_close(pDb);
19 sqlite3_busy_timeout(*pDb,2000);
28 INLINE VOID SqliteManager_close(sqlite3 **pDb){
30 sqlite3_stmt *stmt = (sqlite3_stmt*)NULL, *next = (sqlite3_stmt*)NULL;
32 if (sqlite3_close( *pDb ) != SQLITE_OK ) { /*
\83f
\81[
\83^
\83x
\81[
\83X
\82ð
\90³
\8fí
\82É
\83N
\83\8d\81[
\83Y
\82Å
\82«
\82È
\82¯
\82ê
\82Î
\88È
\89º
\82ð
\8eÀ
\8ds */
34 /***
\8ec
\82è
\82Ì
\90Ý
\92è
\8dÏ
\82Ý
\83v
\83\8a\83y
\83A
\81[
\83h
\83X
\83e
\81[
\83g
\83\81\83\93\83g
\82Ésqlite3_finalize
\82ð
\8eÀ
\8ds ***/
35 stmt = sqlite3_next_stmt( *pDb, next ); /*
\8dÅ
\8f\89\82Ì
\83v
\83\8a\83y
\83A
\81[
\83h
\83X
\83e
\81[
\83g
\83\81\83\93\83g */
36 while( NULL != stmt ) {
37 next = sqlite3_next_stmt( *pDb, stmt ); /*
\8e\9f\82Ì
\83v
\83\8a\83y
\83A
\81[
\83h
\83X
\83e
\81[
\83g
\83\81\83\93\83g */
38 sqlite3_finalize( stmt ); /*
\83\81\83\82\83\8a\97Ì
\88æ
\82ð
\8aJ
\95ú */
42 sqlite3_close( *pDb ); /*
\83f
\81[
\83^
\83x
\81[
\83X
\82ð
\83N
\83\8d\81[
\83Y */
45 *pDb = (sqlite3*)NULL;
49 INLINE int SqliteManager_prepare(sqlite3 *db, const void *sql, int bytes,sqlite3_stmt **stmt, const void **tail){
52 if((rc = sqlite3_prepare16_v2( db, sql, bytes, stmt,tail)) != SQLITE_OK){
54 sqlite3_finalize(*stmt);
55 *stmt = (sqlite3_stmt*)NULL;