무민은귀여워

[Visual Studio 2019] MFC 프로젝트에서 sqlite3 사용하기 본문

IT/기타

[Visual Studio 2019] MFC 프로젝트에서 sqlite3 사용하기

moomini 2019. 8. 3. 00:05
반응형

1. MFC 프로젝트를 생성한다. 

(단일 문서로 시스템메뉴만 체크하고 만들었다.)

2. sqlite 사이트에서 필요한 파일들을 다운받아 압축을 푼다.

소스 코드와 바이너리 파일을 받으면 된다. 바이너리 파일의 x86, x64 버전은 pc환경에 맞추는 것이 아니라 프로젝트 환경에 따라 선택한다.  

 

(sqlite-amalgamation-3290000.zip
sqlite-dll-win32-x86-3290000.zip
sqlite-dll-win64-x64-3290000.zip)

 

https://www.sqlite.org/download.html

 

SQLite Download Page

Templates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used for source-code products that are generally only useful on unix-like platforms. Template (3) is used for precompiled bi

www.sqlite.org

3. 다운받은 .def 파일을 이용해서 lib 파일을 만든다.

먼저 developer command prompt for vs 2019 를 열어서 (시작에서 검색으로 찾을 수 있다) 해당 폴더로 이동한다.

cd 폴더경로

아래 구문을 실행하여 lib 를 생성한다. (버전은 x86 혹은 x64)

lib /def:sqlite3.def /machine:x86

4. 필요한 파일들을 프로젝트 폴더 내로 옮기고, 프로젝트 설정을 조정한다.

sqlite3.h 를 프로젝트 폴더 안의 소스파일들이 있는 곳으로 옮긴다. 

아까 생성한 sqlite3.lib 은 솔루션파일이 있는 위치에 lib 폴더를 만들어 그 안으로 옮긴다. 

[프로젝트 속성] -> [VC++ 디렉터리] -> [라이브러리 디렉터리] 에 

$(SolutionDir)lib

를 추가한다.

[프로젝트 속성] -> [링커] -> [입력] -> [추가종속성] 에 

sqlite3.lib

를 추가한다.

 

5. sqlite3 사용하기

사용하고자 하는 소스파일에 헤더를 인클루드 해주고 사용한다.

#pragma comment(lib, "sqlite3.lib")
#include "sqlite3.h"

6. 샘플 코드

실행하면 test.db 가 생성되어 있을 것이다.

sqlite3* db;
char* zErrMsg = 0;
int rc;
char* sql;

/* Open database */
rc = sqlite3_open("test.db", &db);
if (rc) {
	fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
	exit(0);
}
else {
	fprintf(stdout, "Opened database successfully\n");
}

/* Create SQL statement */
sql = "CREATE TABLE COMPANY("  \
	"ID INT PRIMARY KEY     NOT NULL," \
	"NAME           TEXT    NOT NULL," \
	"AGE            INT     NOT NULL," \
	"ADDRESS        CHAR(50)," \
	"SALARY         REAL );";
    
/* Execute SQL statement */
rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);

/* Create SQL statement */
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "  \
	"VALUES (1, 'Paul', 32, 'California', 20000.00 ); " \
	"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "  \
	"VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); "     \
	"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
	"VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );" \
	"INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)" \
	"VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
    
/* Execute SQL statement */
rc = sqlite3_exec(db, sql, 0, 0, &zErrMsg);

if (rc != SQLITE_OK) {
	fprintf(stderr, "SQL error: %s\n", zErrMsg);
	sqlite3_free(zErrMsg);
}
else {
	fprintf(stdout, "Table created successfully\n");
}
sqlite3_close(db);

번외. sqlite 뷰어 설치

https://sqlitebrowser.org/

 

DB Browser for SQLite

DB Browser for SQLite The Official home of the DB Browser for SQLite Screenshot What it is DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite. DB4S is for users and dev

sqlitebrowser.org

뷰어를 설치하고 아까 생성한 test.db를 확인해본다.

 

반응형
Comments