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();
}