한상열 님이 쓰신 글 :
: 델파이2005에서 SQLite3를 사용하여 프로그램을 만들려고 합니다.
:
: 게시판에서 검색한 결과 가장 근접한 답이 아래의 내용이었습니다.
:
: --------------------------------------------------------
: dbexpress에서 sqlite를 지원하기 시작한건 xe3버전 부터 입니다.
:
: 이하 버전에서는 다른 lib나 Component를 사용해야 합니다.
:
:
http://www.ararat.cz/doku.php/en:sqlitewrap
: 로 sqlite를 제어, 핸들링 할 수 있습니다.
:
: 관련 api는
http://www.sqlite.org/docs.html 를 참고하세요.
: --------------------------------------------------------
:
: 해당 사이트에 들어가서 내용을 봐도 뭐를 어떻게 해야 하는지
: 이해가 안됩니다.
:
: 고수님들의 상세한 설명 부탁드립니다.
:
:
도큐멘트의 설명을 몇 줄 옮겨옵니다.
디비를 열려면
var
Database : TsqliteDatabase;
begin
Database = TsqliteDatabase.Create( 'accounts.db3' );
SQL문을 실행하려면
Database.ExecSQL(' INSERT INTO CUSTOMERS(NAME, ADDRESS) VALUES("JOHN", "SYDNEY");' );
테이블을 가져오려면
var
Table : TSQLiteTable;
begin
Table := Database.GetTable( 'SELECT * FROM CUSTOMERS' );
......
SQLite3의 API를 조금 더 싸서 쓰기 편하게 만들어둔 물건인가보네요.
솔직히 API를 날 것 그대로 쓰는 것과 별 차이가 없어보이지만
프리파스칼에 포함된 SQLiteTable3.pas 보다는 괜찮은 듯 합니다.
SQLite 가 "가볍고 빠르게" 사용하는 것을 목표로 하기 때문인지...
컬럼 삭제용 ALTER 문이 통하지 않는 등 여러가지로 귀찮아요.
저같은 DB 초보는 스키마 짤 때 되게 짜증나지요.
phpLiteAdmin 이라는 도구를 슬그머니 추천해봅니다. ( 갖구놀기:
http://oranke.tistory.com/222 )
그나저나 XE3부터 dbexpress 드라이버를 지원하고 있었군요.
그런건 그냥 쿨하게 이전버전에도 패치로 제공해주면 좋을 것을... (어차피 안 쓸 꺼지만...)
뒤져보니
http://www.devart.com/dbx/sqlite/ 도 괜찮아 보이네요.
SQLite 정적 링크와 암호화 기능 기본제공이라니...
SQLCipher 의 윈도용 DLL 과 비교해도 훌륭한 가격...