본문 바로가기

Programing/닷넷

Community.CsharpSqlite 사용하기

버그1. 시간타입 문제
 DEFAULT가 걸려있는 컬럼에 데이터를 넣으면 2012-12-30 로 들어가는 이상한 현상이 있었다.
 LINQ를 쓸때의 문제인가 생각했는데 SQLiteClient를 직접사용할 때도 동일한 현상이 발생했다.


http://code.google.com/p/csharp-sqlite/ 의 Download에서 zip 파일을 받으면 아래와 같이 여러 디렉토리로 나뉘어 있다.
이중 필수는 Community.CsharpSqlite 디렉토리의 프로젝트에서 만들어지는 Community.CsharpSqlite.dll 파일이다.

하지만 이 라이브러리는 SQLite를 저차원으로 구현해 놓은 것이라 바로 사용하기는 어렵다.


위에 녹색박스가 있는데 Community.CsharpSqlite.SQLiteClient를 이용하면 SqliteConnection라는 클래스를 이용해서 기존 닷넷의 System.Data.Common.DbConnection를 이용하듯이 사용할 수 있다.
왜냐하면 SqliteConnection 클래스는 아래와 같이 해당 인터페이스를 구현했기 때문이다.

namespace Community.CsharpSqlite.SQLiteClient

{

       public class SqliteConnection : DbConnection, ICloneable


하지만 SqliteConnection 클래스를 사용하는 방법은 구체적으로 문서화 하지 않았다. 사실은 할 필요도 없는 것이 DbConnection 클래스를 사용하듯이 쓰면 되기 때문이다. 혹시나 해서 샘플은 http://pastebin.com/8r9DAALa 에 잘 나와 있었다. 테이블 생성, INSERT, UPDATE,DELETE 쿼리 수행

일본어로 되어 있어서 위의 샘플을 기반으로 수정을 해보았다. SELECT 추가 => SqliteTest.zip




'Programing > 닷넷' 카테고리의 다른 글

ADO.NET 데이터 프로바이더들(Data Providers)  (0) 2012.12.19
SQLite in LINQ  (0) 2012.12.13
.NET DLL 이나 어셈블리(assembly)에서 public key 구하기  (0) 2012.12.11
Microsoft SQL Server Compact  (0) 2012.12.11
SQLite for .NET  (0) 2012.12.11