准备在检测工具中加入一个存储日志的数据库,看了看 SQLite ,把使用的过程总结一下。
一. SQLite
SQLite 是一个跨平台的数据库,最早用于嵌入式系统中。它是一款轻型的数据库,同时能够跟很多程序语言相结合。 SQLite 也被用于很多软件,打开飞信的安装目录,就能看见 SQLite ,估计是被用来存储聊天记录的。
二. 下载 SQLite
下载 System.Data.SQLite.DLL ,放在项目文件夹中,然后通过“添加引用”把它添加到项目中,然后就可以使用了。
三. SQLite 的使用
1. 包含
using System.Data;
using System.Data.SQLite;
2. 创建表
可以下载一个 sqlite3.exe 直接在文件系统上对数据库进行管理,也可以通过程序的方式,但是要注意的是,如果每次程序运行都尝试新建一个表的话,会抛出表已经存在的异常,这个时候只需要把这个异常捕获即可,不需要做任何操作。
SQLiteConnection cnn = new SQLiteConnection ();
cnn .ConnectionString = @"Data ource=testDB.db;Pooling=true;FailIfMissing=false" ;
cnn .Open ();
string sql = "CREATE TABLE testTable(EPROCESS varchar(11), ID integer, Name varchar(30), Hide varchar(5))" ;
SQLiteCommand cmd = new SQLiteCommand ();
cmd .Connection = cnn ;
cmd .CommandText = sql ;
try
{
cmd .ExecuteNonQuery ();
}
catch (System .Exception e )
{
}
cnn .Close ();
3. 插入数据
public void sqliteInsert ()
{
cnn .Open ();
string sql = "insert into testTable values('" + "0x45678914" + "'," + "1258" + ",'" + "myname" + "','" + "yes" + "');" ;
SQLiteCommand cmd = new SQLiteCommand ();
cmd .Connection = cnn ;
cmd .CommandText = sql ;
cmd .ExecuteNonQuery ();
cnn .Close ();
}
4. 读取数据
public void sqliteRead ()
{
cnn .Open ();
string sql = "SELECT * FROM testTable" ;
SQLiteCommand cmd = new SQLiteCommand ();
cmd .Connection = cnn ;
cmd .CommandText = sql ;
SQLiteDataReader reader = cmd .ExecuteReader ();
StringBuilder sb = new StringBuilder ();
while (reader .Read ())
{
sb .Append (reader .GetString (0)).Append (";" ).Append (reader .GetInt32 (1).ToString ()).Append (";" ) .Append (reader .GetString (2)).Append (";" ).Append (reader .GetString (3)).Append ("#" );
}
cnn .Close ();
Console .WriteLine (sb .ToString ());
}