SQLite數據庫作爲一個開源的數據庫,在IOS、Android等平臺上得到了很廣泛的應用,在運行效率上比起微軟的SQLCE效率高很多,在網上有大家做性能比較。
參考博客如下:
http://www.cnblogs.com/egmkang/archive/2009/07/12/1521997.html
WM上使用SQLite及安裝:
1.首先下載SQLite安裝程序,有的是exe安裝包,有的是ZIP壓縮包,有的大大反應說,zip包裏面的幾個重要文件即可。
將解壓的BIN目錄下的CompareFramework目錄下的SQLite.Interop.066.DLL文件放到WM設備或者是WM模擬器的相應的項目文件夾中;
將BIN目錄下的System.Data.SQLite.DLL文件加載到VS2008中,即添加引用即可。如果開發的是Windows Mobile項目時,VS2008應該添加引用的System.Data.SQLite.DLL文件來源自BIN目錄下的CompareFramework目錄。
2.這樣還需要一個SQLite管理工具,管理工具有很多,我用的是SQLiteSpy_1.9.1。
3.具體使用SQLite程序如下:
代碼如下:
//將DataSet數據保存到SQLite數據庫中
//WM項目運行時所在的目錄
string path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Test.db3";
SQLiteConnection conn = new SQLiteConnection("Data Source=" + path);
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
//插入操作使用事物
SQLiteTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
foreach (DataRow row in ds.Tables["Users"].Rows)
{
string sql = "insert into Users (name,age) values ('" + row[0] + "','" + row[1] + "')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
tx.Commit();
MessageBox.Show("插入數據成功!!");
}
catch (System.Data.SQLite.SQLiteException E)
{
tx.Rollback();
MessageBox.Show("插入數據失敗!!");
}finally{
conn.Close();
}
------------------------------------------------------------------------------
//快速插入數據
conn.Open();
string sql1 = "insert into Users (name,age) values ('Hello',23)";
SQLiteCommand cmd = new SQLiteCommand(sql1, conn);
cmd.ExecuteNonQuery();
----------------------------------------------------------------------------------
//讀取數據 並顯示
try{
string sql2 = "select * from Users";
conn.Open();
SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql2, conn);
DataTable datatable = new DataTable();
adapter.Fill(datatable);
dataGrid1.DataSource = datatable;
}
catch(Exception e){
Console.WriteLine(e.ToString());
}finally{
conn.Close();
}