加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQlite在c#中的应用

发布时间:2020-12-12 23:38:16 所属栏目:百科 来源:网络整理
导读:SQLite是目前比较流行的一个开源、免费的小型的EmbeddableRDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,个别不支持的情况,在这里说明 对各种语言的支持也比较不错,wrapper很多。 GoogleGears、Mozilla和AdobeAIR都在使用sqlite,
  1. SQLite是目前比较流行的一个开源、免费的小型的EmbeddableRDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,个别不支持的情况,在这里说明
  2. 对各种语言的支持也比较不错,wrapper很多。
  3. GoogleGears、Mozilla和AdobeAIR都在使用sqlite,应该说明其还是很不错的
  4. SQLite的关键字列表,这里
  5. 支持的sql语法,在这里
  6. --------------------------------------------------------------------------------
  7. 在.NET里面使用SQLite,我这里使用的wrapper是System.Data.SQLite,它只需要一个dll,接口符合ADO.Net2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET3.5了,支持集成在VS2005和VS2008里面,而且支持wince,是个亮点
  8. 因为符合ADO.NET的规范,所以使用方式,基本和SqlClient,OleDb等原生的一致
  9. usingSystem.Data;
  10. usingSystem.Data.SQLite;
  11. //...
  12. using(SQLiteConnectioncn=newSQLiteConnection(
  13. "DataSource=Test.db3;Pooling=true;FailIfMissing=false")
  14. )
  15. {
  16. //在打开数据库时,会判断数据库是否存在,如果不存在,则在当前目录下创建一个
  17. cn.Open();
  18. using(SQLiteCommandcmd=newSQLiteCommand())
  19. {
  20. cmd.Connection=cn;
  21. //建立表,如果表已经存在,则报错
  22. cmd.CommandText="CREATETABLE[test](idint,namenvarchar(20))";
  23. cmd.ExecuteNonQuery();
  24. //插入测试数据
  25. for(inti=2;i<5;i++)
  26. {
  27. cmd.CommandText=string.Format("INSERTINTO[test]VALUES({0},'杜思波技术讨论区域')",i);
  28. cmd.ExecuteNonQuery();
  29. }
  30. for(inti=5;i<10;i++)
  31. {
  32. cmd.CommandText=string.Format("INSERTINTO[test]VALUES({0},'EnglishTest')",i);
  33. cmd.ExecuteNonQuery();
  34. }
  35. //读取数据
  36. cmd.CommandText="SELECT*FROM[test]";
  37. using(SQLiteDataReaderdr=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. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读