C#使用SQLite数据库的代码示例

在 .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点。

因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致:

using System.Data;
 using System.Data.SQLite;
 //...
 
 using (SQLiteConnection cn = new SQLiteConnection("Data Source=Test.db3;Pooling=true;FailIfMissing=false")) {
     //在打开数据库时,会判断数据库是否存在,如果不存在,则在当前目录下创建一个
     cn.Open();
 
     using (SQLiteCommand cmd = new SQLiteCommand())
     {
         cmd.Connection = cn;
 
         //建立表,如果表已经存在,则报错
         cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";
         cmd.ExecuteNonQuery();
 
         //插入测试数据
         for (int i = 2; i < 5; i++)
         {
             cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '中文测试')", i);
             cmd.ExecuteNonQuery();
         }
 
         for (int i = 5; i < 10; i++)
         {
             cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, 'English Test')", 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));
             }
         }
     }
 }
出处:http://www.zhaiqianfeng.com    
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4616820.html