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

VS中如何使用SQLite(C#版)

发布时间:2020-12-12 20:35:20 所属栏目:百科 来源:网络整理
导读:友情提示: 本文所述代码 下载地址 http://download.csdn.net/source/2299805 原文:http://www.jb51.cc/article/p-tjanvzjy-qk.html SQLite 是一个嵌入式的关系数据库系统,运用十分广泛。在一些数据处理量不大的应用程序中,使用SQLite可以很大程度的降低

友情提示:本文所述代码下载地址http://download.csdn.net/source/2299805

原文:http://www.52php.cn/article/p-tjanvzjy-qk.html

SQLite 是一个嵌入式的关系数据库系统,运用十分广泛。在一些数据处理量不大的应用程序中,使用SQLite可以很大程度的降低部署时的工作量。要使VS2008支持SQLite十分简单,只需要下载SQLite-1.0.66.0-setup.exe,安装即可。

打开Visual Studio 2008,新建一个Console Application,项目名称为SQLite,并为项目添加System.Data.SQLite的引用。再添加一个数据库连接,此时可以看到,更改数据源窗口中多了一个SQLite Database File的数据源选项,如图:

挑选此类型的数据源,并且New一个Database文件test.db,密码123,如图:

接下来再新数据库中添加一张表Book,如图:

下面开始为此表建立一个Data Access类,以展示在VS2008中如何使用SQLite,可以想象,和操作其他数据库是几乎一样的。
首先,新建一个实体类 Book.cs

[c-sharp] view plain copy
  1. usingSystem;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Linq;
  4. usingSystem.Text;
  5. namespaceSQLite
  6. {
  7. classBook
  8. privateintid;
  9. stringbookName;
  10. decimalprice;
  11. publicintID
  12. get{returnid;}
  13. set{id=value;}
  14. }
  15. stringBookName
  16. returnbookName;}
  17. set{bookName=value;}
  18. decimalPrice
  19. returnprice;}
  20. set{price=value;}
  21. }
  22. }

其次,编写DAL类:BookDAL

copy
    usingSystem.Data.SQLite;
  1. classBookDAL
  2. conststringsConn="DataSource=G://Exercise//VisualStudio2008//SQLite//test.db;Version=3;Password=123;";
  3. staticboolCreate(Bookbook)
  4. try
  5. using(SQLiteConnectionconn=newSQLiteConnection(sConn))
  6. conn.Open();
  7. SQLiteCommandcmd=conn.CreateCommand();
  8. cmd.CommandText="INSERTINTObook(ID,BookName,Price)VALUES(@ID,@BookName,@Price);";
  9. cmd.Parameters.Add(newSQLiteParameter("ID",book.ID));
  10. cmd.Parameters.Add(newSQLiteParameter("BookName",book.BookName));
  11. newSQLiteParameter("Price",book.Price));
  12. inti=cmd.ExecuteNonQuery();
  13. returni==1;
  14. catch(Exception)
  15. {
  16. //Do any logging operation here if necessary
  17. returnfalse;
  18. boolUpdate(Bookbook)
  19. conn.Open();
  20. SQLiteCommandcmd=conn.CreateCommand();
  21. cmd.CommandText="UPDATEBookSETBookName=@BookName,Price=@PricewhereID=@ID;";
  22. inti=cmd.ExecuteNonQuery();
  23. returni==1;
  24. catch(Exception)
  25. //Do any logging operation here if necessary
  26. false;
  27. boolDelete(intID)
  28. try
  29. newSQLiteConnection(sConn))
  30. cmd.CommandText="DELETEFROMBookWHEREID=@ID";
  31. staticBookGetbyID(intID)
  32. cmd.CommandText="SELECT*FROMBookWHEREID=@ID;";
  33. SQLiteDataReaderdr=cmd.ExecuteReader();
  34. if(dr.Read())
  35. Bookbook=newBook();
  36. book.ID=dr.GetInt32(0);
  37. book.BookName=dr.GetString(1);
  38. book.Price=dr.GetDecimal(2);
  39. returnbook;
  40. else
  41. null;
  42. 最后,编写测试主程序:

    copy
      classProgram
    1. voidMain(string[]args)
    2. if(BookDAL.Delete(1)==false)
    3. Console.WriteLine("删除ID=1失败");
    4. if(BookDAL.Delete(2)==false)
    5. Console.WriteLine("删除ID=2失败");
    6. Bookbook=newBook();
    7. book.ID=1;
    8. book.BookName="Book A";
    9. book.Price=40.0m;
    10. BookDAL.Create(book);
    11. book.ID=2;
    12. book.BookName="第二本书";
    13. book.Price=42.0m;
    14. BookDAL.Create(book);
    15. book=BookDAL.GetbyID(2);
    16. Console.WriteLine(book.ID+" "+book.BookName+" "+book.Price);
    17. book.Price=24.5m;
    18. BookDAL.Update(book);
    19. book=BookDAL.GetbyID(1);
    20. Console.WriteLine(book.ID+" "+book.BookName+" "+book.Price); 

    21. 执行结果:

      2 第二本书 42 2 第二本书 24.5 1 Book A 40

      (编辑:李大同)

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

    推荐文章
      热点阅读