우선 SQLite 사이트에서 윈도우용 DLL 파일과 소스 파일을 다운 받는다.
SQLite 3.6.0 Source
SQLite 3.6.0 DLL
다운로드 받은 파일들을 프로젝트의 임의의 폴더에 풀어 놓는다.
압축을 풀어놓은 파일들
시작 메뉴의 “Visual Studio 2005 명령 프롬프트 열기”를 실행하여 도스프롬프트창을 열고 다운로드 받아서 압축을 풀어놓은 폴더로 이동하여 다음 명령을 수행하여 프로젝트에 사용할 .lib파일을 생성한다.
>LIB /DEF:sqlite3.def /MACHINE:x86
Library 생성 화면
작업 후 파일 목록
프
로젝트 속성페이지의 C/C++ 항목의 추가 포함디렉토리와 링커 함목의 추가 라이브러리 디렉토리에 위에서 작업한 디렉토리의 경로를
입력해 주고 링커 함목의 추가 종속성에 위에서 만들어진 Library 파일인 sqlite3.lib 를 추가해 주면 프로젝트
설정은 끝이다.
이제 SQLite 에 접속하여 작업을 할 클래스 헤더파일에 “sqlite3.h” 파일을 포함시키고 callback 함수를 선언해 준다.
SQLite3 에서 질의를 하면 리턴받을 데이터가 있을경우 callback 함수를 호출하여 데이터를 넘겨주기때문에 callback 함수를 작성해 주어야 한다.
03 |
static int callback( void *NotUsed, int argc, char **argv, char **azColName) |
06 |
for ( i = 0; i < argc; i++) |
08 |
TRACE( "%s = %s\n" , azColName[i], argv[i] ? argv[i] : "NULL" ); |
그리고 소스 파일에서 작업을 하면 된다.
01 |
sqlite3 *pSQLite3 = NULL; |
02 |
char *szErrMsg = NULL; |
05 |
int rst = sqlite3_open( "test.db" , &pSQLite3); |
09 |
TRACE( "Can't open database: %s\n" , sqlite3_errmsg( pSQLite3 )); |
11 |
sqlite3_close( pSQLite3 ); |
16 |
TRACE( "Database opened!!\n" ); |
19 |
rst = sqlite3_exec(pSQLite3, |
20 |
"CREATE TABLE member ( name TEXT(20), age INTEGER )" , |
21 |
callback, 0, &szErrMsg); |
24 |
rst = sqlite3_exec(pSQLite3, |
25 |
"INSERT INTO member ( name, age ) values ( 'andy', 20 )" , |
26 |
callback, 0, &szErrMsg); |
29 |
rst = sqlite3_exec(pSQLite3, |
30 |
"SELECT * FROM member" , |
31 |
callback, 0, &szErrMsg); |
35 |
sqlite3_free( szErrMsg ); |
36 |
sqlite3_close( pSQLite3 ); |
위 코드를 수행한 후의 출력창
출력창 내용
데모 프로젝트