SQlite在c#中的应用

本文介绍了SQLite数据库的特点及其在.NET环境下的使用方法。通过System.Data.SQLite这个轻量级且高性能的ADO.NET包装器,可以方便地进行数据库操作,包括创建表、插入数据及查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 
  1. SQLite 是目前比较流行的一个开源、免费的小型的Embeddable RDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,个别不支持的情况,在这里说明
  2. 对各种语言的支持也比较不错,wrapper很多。 
  3. Google Gears 、Mozilla 和 Adobe AIR 都在使用sqlite,应该说明其还是很不错的
  4. SQLite 的关键字列表,这里
  5. 支持的sql语法,在这里
  6. --------------------------------------------------------------------------------
  7. 在 .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点
  8. 因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致
  9. using System.Data;
  10. using System.Data.SQLite;
  11. //...
  12. using (SQLiteConnection cn = new SQLiteConnection(
  13.     "Data Source=Test.db3;Pooling=true;FailIfMissing=false")
  14.     )
  15. {
  16.     //在打开数据库时,会判断数据库是否存在,如果不存在,则在当前目录下创建一个
  17.     cn.Open();
  18.     using (SQLiteCommand cmd = new SQLiteCommand())
  19.     {
  20.         cmd.Connection = cn;
  21.         //建立表,如果表已经存在,则报错
  22.         cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";
  23.         cmd.ExecuteNonQuery();
  24.         //插入测试数据
  25.         for (int i = 2; i < 5; i++)
  26.         {
  27.             cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '杜思波技术讨论区域')", i);
  28.             cmd.ExecuteNonQuery();
  29.         }
  30.         for (int i = 5; i < 10; i++)
  31.         {
  32.             cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, 'English Test')", i);
  33.             cmd.ExecuteNonQuery();
  34.         }
  35.         //读取数据
  36.         cmd.CommandText = "SELECT * FROM [test]";
  37.         using (SQLiteDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
  38.         {
  39.             while (dr.Read())
  40.             {
  41.                 Console.WriteLine("第{0} 条:{1}", dr.GetValue(0), dr.GetString(1));
  42.             }
  43.         }
  44.     }
  45. }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值