星期四, 3月 29, 2007

[.Net]如何存取SQLite

如果你還在找SQLite的 ADO.Net driver 的話,別找了。
因為Mono就提供了一個:SQLite at Mono

不管你是在 Windows 或是在 Linux 上,也不管你是用 Microsoft .Net Framework 或是 Mono,都可以直接拿他的 Mono.Data.SqliteClient.dll 來使用~
使用方法也很簡單:
  • 連接字串:"URI=file:/path/to/file,version=3"。URI指定檔案位置,version則是指定SQLite database版本。
  • 從使用範例可以看出,跟 .Net framework 提供的 ADO.Net driver 用法並沒有什麼差別(範例摘錄自SQLite at Mono):
     using System;
    using System.Data;
    using Mono.Data.SqliteClient;

    public class Test
    {
    public static void Main(string[] args)
    {
    string connectionString = "URI=file:SqliteTest.db";
    IDbConnection dbcon;
    dbcon = (IDbConnection) new SqliteConnection(connectionString);
    dbcon.Open();
    IDbCommand dbcmd = dbcon.CreateCommand();
    // requires a table to be created named employee
    // with columns firstname and lastname
    // such as,
    // CREATE TABLE employee (
    // firstname varchar(32),
    // lastname varchar(32));
    string sql =
    "SELECT firstname, lastname " +
    "FROM employee";
    dbcmd.CommandText = sql;
    IDataReader reader = dbcmd.ExecuteReader();
    while(reader.Read()) {
    string FirstName = reader.GetString (0);
    string LastName = reader.GetString (1);
    Console.WriteLine("Name: " +
    FirstName + " " + LastName);
    }
    // clean up
    reader.Close();
    reader = null;
    dbcmd.Dispose();
    dbcmd = null;
    dbcon.Close();
    dbcon = null;
    }
    }


如果你想找一個SQLite管理工具,我個人推薦使用SQLiteSpy,既小又方便而且還免安裝。

2 則留言:

匿名 提到...

請問站長知道如何在Linux 下安裝SQLite嗎?我使用的是Red Hat Enterprise 3,我剛剛接觸Linux、gcc、makefile,不到一個月,懂得很少,SQLite以前都是在Windows下用的,簡便異常,現在卻備受阻礙。不知可否寫個教程呢!謝謝

elleryq 提到...

我用的是 CentOS 4.5(RHEL4 like),安裝 sqlite 的方法很簡單:
#yum install sqlite

RHEL 3 的話,不太清楚,不過應該只要找到 sqlite 的 rpm,用 rpm -ivh 就可以裝起來了。