Asp.Net 在Asp.Net程序中使用SQLite
本文介紹了如何在asp.net web 程序中使用Sqlite嵌入式數據庫,sqlite數據庫可以作為文件放在站點的APP_DATA目錄下,適合小網站使用,使用它不需要買sql server空間,而且據說它的性能很不錯。
Sqlite是嵌入數據庫,類似與MS Sql Server Compact,之所以不用Sql server compact是因為它既不支持SELECT TOP也不支持ROW_NUMBER()還不支持LIMIT,也就是我沒有辦法用它分頁了,取數據的時候必須根據條件取,不能在給定條件下取n條。
- 安裝Sqlite數據庫,sqlite數據庫非常方便,他的安裝只有一個exe文件,可以下載。
下載可執行文件之后使用命令“sqlite3 dbname”執行就可以創建數據庫。
或者為了開發方便下載Sqlite Developer軟件,使用軟件創建也有方便。下載鏈接
-
安裝dot net下的Sqlite數據庫驅動,其實就是一個dll,System.Data.SQLite,他是一個開源項目,可以到SourceForge上下載
-
在VS中建立一個Web Application,并引用2中的dll
-
在default.aspx的cs文件中實現訪問Sqlite的代碼,代碼和注釋如下:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SQLite; namespace SqliteWebApp { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //這個文件是預先生成的數據庫文件 string sqliteFilePath = Server.MapPath("~/App_Data/firstsqlite.db"); DataSet ds = new DataSet(); //聲明一個Sqlite數據庫的鏈接 using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + sqliteFilePath)) { //創建sqlite命令 using (SQLiteCommand comm = conn.CreateCommand()) { //打開數據庫鏈接 conn.Open(); //插入數據 comm.CommandText = "INSERT INTO [t] VALUES(10,'Hello 9')"; comm.ExecuteNonQuery(); //更新數據 comm.CommandText = "UPDATE [t] SET name = 'Hello 10' WHERE id = 10"; comm.ExecuteNonQuery(); //使用參數插入數據 comm.CommandText = "INSERT INTO [t] VALUES(@id,@name)"; comm.Parameters.AddRange( new SQLiteParameter[]{ CreateSqliteParameter("@id",DbType.Int32,4,11), CreateSqliteParameter("@name",DbType.String,10,"Hello 11") }); comm.ExecuteNonQuery(); comm.Parameters.Clear(); //select數據分頁用limit就行,很方便 comm.CommandText = "Select * From MAIN.[t]"; using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(comm)) { adapter.Fill(ds); } } } gv1.DataSource = ds; gv1.DataBind(); } /// <summary> /// 放回一個SQLiteParameter /// </summary> /// <param name="name">參數名字</param> /// <param name="type">參數類型</param> /// <param name="size">參數大小</param> /// <param name="value">參數值</param> /// <returns>SQLiteParameter的值</returns> static private SQLiteParameter CreateSqliteParameter(string name,DbType type,int size,object value) { SQLiteParameter parm = new SQLiteParameter(name,type, size); parm.Value = value; return parm; } } }
最后希望的MS Sql Server Compact可以做一些改進,讓我們可以舒服的使用。
本文由用戶 UBOMerri 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!