Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 이진트리
- 유니티
- 유니티 Rotate
- c++
- 유니티 머신러닝
- 너비 우선 탐색
- 유니티 시야 가림
- unity
- 유니티 리소스매니저
- 유니티 ResourceManager
- Raycast
- git-lfs
- InputManager
- Quaternion.Euler
- 알고스팟
- 유니티 InputManager
- eulerAngles
- 오브젝트 풀링
- 유니티 Vector3
- LFS
- 깊이 우선 탐색
- LayerMask
- 소스코드 줄번호
- 유니티 Collision
- 유니티 오브젝트 풀링
- 코드블럭 테마
- Mathf.Clamp
- c++ 문자열 자르기
- ML-Agents
- LookRotation
Archives
- Today
- Total
무민은귀여워
[Visual Studio 2019] MFC 프로젝트에서 sqlite3 사용하기 본문
반응형
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
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 뷰어 설치
뷰어를 설치하고 아까 생성한 test.db를 확인해본다.
반응형
'IT > 기타' 카테고리의 다른 글
안티엘리어싱 SSAA / MSAA / FXAA / SMAA (0) | 2019.09.04 |
---|---|
메모) directx 렌더링 파이프라인 / 그래픽 파이프라인 (0) | 2019.09.02 |
메모) tinyxml 사용하기 (0) | 2019.07.24 |
메모) 윈도우 콘솔 설정 (0) | 2019.07.18 |
메모) CFileFind - 파일 검색 (0) | 2019.07.17 |
Comments