The Definitive Guide to SQLite 를 읽다가 공부 겸 해서 C++ wrapper를 만들어 보았습니다. 최대한 C++ 냄새(?)가 나도록 만들어 보았습니다. :-) ((SQLite는 복잡한 관리가 필요없이 사용가능한, 파일이나 메모리 기반의, 라이브러리로 제공되는, 약 250kb 용량의, 대부분의 SQL92문을 지원하는, open source RDB입니다.)) 이 wrapper를 사용하기 위해서는 (당연하게도!) sqlite3 와 (당연하게도?) boost 라이브러리가 필요합니다. 사용 예들을 살펴보는 것으로 설명을 대신합니다. 이번 글에서는 다음과 같은 contacts 테이블이 test.db에 존재한다고 가정합니다. CREATE TABLE contacts
(
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
phone TEXT NOT NULL,
UNIQUE(name, phone)
);
Command 먼저 test.db 파일을 사용하기 위해 다음과 같이 파일 이름을 주어 connection 객체를 생성합니다. 생성과 동시에 test.db와 연결이 이루어집니다. ((생성자외에 open() 함수를 사용할 수도 있습니다.)) sqlite3pp::connection conn("test.db");
다음은 contacts 테이블에 정보를 추가하는 가장 간단한 방법입니다. connection 클래스에서 제공하는 execute 함수를 사용합니다. ((executef 함수를 사용하면 printf와 같은 문법을 사용하여 query문을 작성할 수 있습니다.)) conn.execute("INSERT INTO contacts (name, phone) VALUES ('user', '1234')");
위와 동일한 작업을 parameterized query를 사용하여 할 수도 있습니다. ((step()함수가 실제 query문을 수행하는 함수입니다. ...
오… 더 좋은 직장으로 옮기시는 것이라고 보고 축하드립니다. ㅎㅎ
ReplyDelete네, 감사합니다. 좋은 직장일거라 믿고 옮깁니다. :-)
ReplyDelete4년간 학부생활, 3년간 왔다갔다 하다보니 저도 한대학에 7년정도를 머물렀습니다. 가끔은 그래서 그 학교가 마치 제 고향처럼 느껴지기도 하더군요... 그리고는 지방으로 옮겨거 살다보니 한동안 미칠것 같았습니다. 서울로 다시 가고 싶어서. 그런 나머지, 이원구님 느낌을 조금은 이해할 것 같습니다.
ReplyDelete어머 옮기시는군요. :)
ReplyDelete시원섭섭하실듯.
네... 옮겼습니다. 지금은 새로운 곳에 적응하려고 노력중... ^^
ReplyDelete축하한다. ^^
ReplyDelete