본문 바로가기
지속가능티끌/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