C# 程序中使用 SQLite 数据库
using System;
using System.Data;
using System.Data.SQLite;
//C# 使用 SQLite 数据测试程序
public class Program
{
public static void Main(string[] args)
{
using (SQLiteConnection con = new SQLiteConnection("Data Source=c:\\test.db3;Pooling=true;FailIfMissing=false"))
{
//打开数据库文件 c:\\test.db3,不存在则创建
con.Open();
using (SQLiteCommand cmd = new SQLiteCommand())
{
cmd.Connection = con;
//检查是否存在表 test,不存在则创建
Boolean testTableExists = false;
cmd.CommandText = "SELECT * FROM sqlite_master WHERE type='table' and name='test'";
using(SQLiteDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
testTableExists = true;
}
}
if (!testTableExists)
{
cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";
cmd.ExecuteNonQuery();
}
//清空 test 表
cmd.CommandText = "DELETE FROM [test]";
cmd.ExecuteNonQuery();
//插入测试数据
for (int i = 1; i <= 5; i++)
{
cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '中文测试')", i);
cmd.ExecuteNonQuery();
}
//读取数据
cmd.CommandText = "SELECT * FROM [test]";
using (SQLiteDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
Console.WriteLine("第{0} 条:{1}", dr.GetValue(0), dr.GetString(1));
}
}
}
}
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
参考:
- http://unmi.cc/csharp-use-sqlite-db/
- http://blog.163.com/baiyunping333@126/blog/static/2439447220093162323933/
- http://www.sqlite.org/lang_keywords.html
- http://www.sqlite.org/lang_corefunc.html
- http://www.infoq.com/cn/news/2008/01/sqlite-in-three-minutes
- http://www.sqlite.org/cvstrac/wiki?p=ManagementTools
- http://www.cnblogs.com/spymaster/archive/2008/09/10/1288419.html
- http://www.jb51.net/article/26381.htm