C# 使用 SQLite 資料庫

來源:互聯網
上載者:User

標籤:blog   ar   io   os   使用   sp   on   檔案   資料   

這裡只討論不安裝的情況,只在項目中引用Dll。
從 SQLite 官網中下載帶有 static 字樣的 zip 包,比如我下載的是 sqlite-netFx40-static-binary-Win32-2010-1.0.94.0.zip 。
解壓後可以得到不少檔案,其中也包含了安裝檔案 Install.exe,但是可以不安裝,如果要使用 SQLite,最少需要兩個 Dll:System.Data.SQLite.dll,SQLite.Interop.dll。如果需要用到 Linq 或 EntityFramework 的話,還需要 System.Data.SQLite.Linq.dll 和 System.Data.SQLite.EF6.dll。

不考慮 Linq 和 EntityFramework 的情況下,只需要引用 System.Data.SQLite.dll,然後保證在程式根目錄下可以找到 SQLite.Interop.dll即可。

在程式根目錄放置一個SQLite資料庫檔案(資料庫檔案路徑其實可以是任意的)。System.Data.SQLite 中提供了 SQLiteConnection,SQLiteCommand,SQLiteDataAdapter。

private void InitSqlite(){    SQLiteConnection conn = new SQLiteConnection ("Data Source=test.db3");    conn.Open();    var table = conn.GetSchema( "tables");    //擷取資料庫檔案中的表結構    TableDataGrid.ItemsSource = table.DefaultView;    var cmd = new SQLiteCommand (@"select * from Demo", conn);    SQLiteDataAdapter adapter= new SQLiteDataAdapter (cmd);    DataSet ds = new DataSet ();    adapter.Fill(ds);    //擷取表的列結構,通過查詢所有來得到    ColumnDataGrid.ItemsSource = ds.Tables[0].DefaultView;    cmd.Dispose();    conn.Close();}

  

同樣,執行建立資料庫的SQL語句也都是可以的
private void CreateTable(){    SQLiteConnection conn = new SQLiteConnection ("Data Source=test.db3");    conn.Open();    var sqlStr = @"create table Demo([Id] int IDENTITY (1,1) PRIMARY KEY,[Pinyin] varchar(50) null)" ;    SQLiteCommand cmd= new SQLiteCommand (sqlStr,conn);    cmd.ExecuteNonQuery();    cmd.Dispose();    conn.Close();}

  

SQLite資料庫壓縮和 MDB 資料庫一樣,SQLite 資料庫預設不會回收控制項,進行大量的資料刪除後,資料庫檔案的體積不會改變,要壓縮資料庫檔案,可以執行 VACUUM 命令。VACUUM 將會從頭重新組織資料庫。這將會使用資料庫有一個空的“自由鏈表”, 資料庫檔案也會最小。
private void Compact(){    SQLiteConnection conn = new SQLiteConnection ( "Data Source=test.db3");    conn.Open();    SQLiteCommand cmd = new SQLiteCommand( "VACUUM" , conn);    cmd.ExecuteNonQuery();    cmd.Dispose();    conn.Close();}

  

 

C# 使用 SQLite 資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.