C#使用SQLite資料庫(asp.net/winform)

來源:互聯網
上載者:User

SQLite 是目前比較流行的一個開源、免費的小型的Embeddable RDBMS(關係型資料庫),用C實現,記憶體佔用較小,支援絕大數的SQL92標準,個別不支援的情況,在這裡說明

對各種語言的支援也比較不錯,wrapper很多。

Google Gears 、Mozilla 和 Adobe AIR 都在使用sqlite,應該說明其還是很不錯的

SQLite 的關鍵字列表,這裡

支援的sql文法,在這裡

在 .NET 裡面使用 SQLite, 我這裡使用的wrapper是 System.Data.SQLite,它只需要一個dll,介面符合ADO.Net 2.0的定義,效能也不錯,NHibernate用的也是它,目前支援ADO.NET 3.5了,支援整合在 VS2005 和 VS2008裡面,而且支援wince,是個亮點

因為符合ADO.NET的規範,所以使用方式,基本和 SqlClient, OleDb等原生的一致

using System.Data;using System.Data.SQLite;//...using (SQLiteConnection cn = new SQLiteConnection(    "Data Source=Test.db3;Pooling=true;FailIfMissing=false")    ){    //在開啟資料庫時,會判斷資料庫是否存在,如果不存在,則在目前的目錄下建立一個    cn.Open();    using (SQLiteCommand cmd = new SQLiteCommand())    {        cmd.Connection = cn;        //建立表,如果表已經存在,則報錯        cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";        cmd.ExecuteNonQuery();        //插入測試資料        for (int i = 2; i < 5; i++)        {            cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '中文測試')", i);            cmd.ExecuteNonQuery();        }        for (int i = 5; i < 10; i++)        {            cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, 'English Test')", i);            cmd.ExecuteNonQuery();        }        //讀取資料        cmd.CommandText = "SELECT * FROM [test]";        using (SQLiteDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))        {            while (dr.Read())            {                Console.WriteLine("第{0} 條:{1}", dr.GetValue(0), dr.GetString(1));            }        }    }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.