지속가능티끌/SQL. 데이터베이스
Visual C++. SQLite. table 존재 여부 확인.
i.got.it
2016. 10. 16. 21:47
SQLite 의 master table 인 sqlite_master 에서 테이블 이름으로 select 구문으로 수량을 받아서 0이면 해당 table 없는것, 1이면 해당테이블 있는것.
SQL구문.
예 : 테이블 T_MarketData 이 있는지 확인하려면,
SELECT COUNT(*) FROM sqlite_master WHERE NAME = "T_MarketData"
Visual C++ 코드.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | int retv; char * error; char ** results; const char * str_sql; CString cst_errmsg; /// T_MarketData 유무 확인. str_sql = "SELECT COUNT(*) FROM sqlite_master WHERE NAME='T_MarketData'"; if (sqlite3_get_table(m_pdb, str_sql, &results, NULL, NULL, &error)) // error { cst_errmsg.Format(_T("%s"), sqlite3_errmsg); Display_Status(cst_errmsg); sqlite3_free(error); } else //select 구문 실행은 성공. { if (atoi(results[1]) != 0) // tabel T_MarketData 있음. index must be 1 not 0. { Display_Status(_T("T_MarketData Found")); } else // table T_MarketData 없음. { Display_Status(_T("T_MarketData Not Found")); } } |
///1023.