资源描述
Sqlite与C#在WINCE中的应用
Sqlite与C#在WINCE中的应用 (完整修订版) 网上资源与个人总结,保证能用。
我使用的是wince 5.0 ,vs2005, winxp系统。
在C#中使用SQLite
1、通过Add References引用SQLite ADO .NET安装目录的bin目录下的System.Data.SQLite.DLL。
2、创建数据库文件:因为始终是个0字节文件,应该利用IO也可以(?!)。
System.Data.SQLite.SQLiteConnection.CreateFile(datasource);
3、连接数据库
System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection(connectionString);
connectionString中包含了数据库的一些配置信息,比如数据库文件,数据库打开的密码等,可以利用System.Data.SQLite.SQLiteConnectionStringBuilder来辅助创建connectionString//我是没有找到这一项,还是用老办法吧。
4、创建表、读取数据等和Access或MS SQL没多大区别了
using System.Data;
using System.Data.SQLite;
private void BtnGetData_Click(object sender, EventArgs e)
{
//创建一个空数据库
string datasource="test.db"; //这样没有目录的放在哪里呢?测试后,发现放在了 <我的设备>目录下。
SQLiteConnection.CreateFile(datasource);
MessageBox.Show("数据库创建完成。");
//连接数据库
SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
conn.ConnectionString = "Data Source=" + datasource + ";Pooling=true;FailIfMissing=false";
conn.Open();
MessageBox.Show("数据库连接完成。");
//创建表
SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();
string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";
cmd.CommandText=sql;
cmd.Connection=conn;
cmd.ExecuteNonQuery();
MessageBox.Show("数据表创建完成。");
//插入数据
sql = "INSERT INTO test VALUES('dotnetthink','mypassword')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
MessageBox.Show("插入数据完成。");
//取出数据
sql = "SELECT * FROM test";
cmd.CommandText = sql;
System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();
StringBuilder sb = new StringBuilder();
while (reader.Read())
{
sb.Append("username:").Append(reader.GetString(0)).Append("\n");
sb.Append("password:").Append(reader.GetString(1));
}
MessageBox.Show(sb.ToString());
}
这里我现补充一下,怎么把sqlite添加到VS2005中呢?
下载 SQLite-1.0.40.0-install.exe 文件,在WINDOWS中安装,然后再在VS2005中引用 C:\Program Files\SQLite.NET\bin\System.Data.SQLite.dll 文件,然后你就可以使用 using System.Data.SQLite; 了。
编写完程序后呢,如何运行呢,需要将两个文件COPY到WINCE的程序运行目录下,他们是:
C:\Program Files\SQLite.NET\bin\System.Data.SQLite.dll
C:\Program Files\SQLite.NET\bin\CompactFramework\SQLite.Interop.066.DLL
COPY过去后,需要将SQLite.Interop.066.DLL 更名为:SQLite.Interop.DLL.
一切OK,这是我这两天的心得。分享给大家。
展开阅读全文