友情提示:本文所述代码下载地址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
- usingSystem;
- usingSystem.Collections.Generic;
- usingSystem.Linq;
- usingSystem.Text;
-
- namespaceSQLite
- {
- classBook
- privateintid;
- stringbookName;
- decimalprice;
- publicintID
- get{returnid;}
- set{id=value;}
- }
- stringBookName
- returnbookName;}
- set{bookName=value;}
- decimalPrice
- returnprice;}
- set{price=value;}
- }
- }
其次,编写DAL类:BookDAL
copy
usingSystem.Data.SQLite;
- classBookDAL
- conststringsConn="DataSource=G://Exercise//VisualStudio2008//SQLite//test.db;Version=3;Password=123;";
- staticboolCreate(Bookbook)
- try
- using(SQLiteConnectionconn=newSQLiteConnection(sConn))
-
- conn.Open();
- SQLiteCommandcmd=conn.CreateCommand();
- cmd.CommandText="INSERTINTObook(ID,BookName,Price)VALUES(@ID,@BookName,@Price);";
- cmd.Parameters.Add(newSQLiteParameter("ID",book.ID));
- cmd.Parameters.Add(newSQLiteParameter("BookName",book.BookName));
- newSQLiteParameter("Price",book.Price));
- inti=cmd.ExecuteNonQuery();
- returni==1;
- catch(Exception)
- {
-
- returnfalse;
- boolUpdate(Bookbook)
- conn.Open();
- SQLiteCommandcmd=conn.CreateCommand();
- cmd.CommandText="UPDATEBookSETBookName=@BookName,Price=@PricewhereID=@ID;";
- inti=cmd.ExecuteNonQuery();
- returni==1;
- catch(Exception)
-
- false;
- boolDelete(intID)
- try
- newSQLiteConnection(sConn))
- cmd.CommandText="DELETEFROMBookWHEREID=@ID";
- staticBookGetbyID(intID)
- cmd.CommandText="SELECT*FROMBookWHEREID=@ID;";
- SQLiteDataReaderdr=cmd.ExecuteReader();
- if(dr.Read())
- Bookbook=newBook();
- book.ID=dr.GetInt32(0);
- book.BookName=dr.GetString(1);
- book.Price=dr.GetDecimal(2);
- returnbook;
- else
- null;
- 最后,编写测试主程序:
copy
classProgram
- voidMain(string[]args)
- if(BookDAL.Delete(1)==false)
- Console.WriteLine("删除ID=1失败");
- if(BookDAL.Delete(2)==false)
- Console.WriteLine("删除ID=2失败");
- Bookbook=newBook();
- book.ID=1;
- book.BookName="Book A";
- book.Price=40.0m;
- BookDAL.Create(book);
- book.ID=2;
- book.BookName="第二本书";
- book.Price=42.0m;
- BookDAL.Create(book);
- book=BookDAL.GetbyID(2);
- Console.WriteLine(book.ID+" "+book.BookName+" "+book.Price);
- book.Price=24.5m;
- BookDAL.Update(book);
- book=BookDAL.GetbyID(1);
- Console.WriteLine(book.ID+" "+book.BookName+" "+book.Price);
-
执行结果:
2 第二本书 42 2 第二本书 24.5 1 Book A 40 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|