본문 바로가기
지속가능티끌/SQL. 데이터베이스

Visual C++. SQLite. table 존재 여부 확인.

by i.got.it 2016. 10. 16.


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.


'지속가능티끌 > SQL. 데이터베이스' 카테고리의 다른 글

SQLite. SELECT 구문에서 수량제한 LIMIT  (0) 2016.10.23
SQLite. Data Type.  (0) 2016.10.17
SQLite. join  (0) 2016.10.16
SQLite. VIEW  (0) 2016.10.16
Visual Studio. SQLite Toolbox. Create Table  (0) 2016.10.16


비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5