在asp.net web 程序中使用Sqlite数据库
2014-04-02 16:21
344 查看
本文介绍了如何在asp.net web 程序中使用Sqlite嵌入式数据库,sqlite数据库可以作为文件放在站点的APP_DATA目录下,适合小网站使用,使用它不需要买sql server空间,而且据说它的性能很不错。
Sqlite是嵌入数据库,类似与MS Sql Server Compact,之所以不用Sql server compact是因为它既不支持SELECT TOP也不支持ROW_NUMBER()还不支持LIMIT,也就是我没有办法用它分页了,取数据的时候必须根据条件取,不能在给定条件下取n条。
1. 安装Sqlite数据库,sqlite数据库非常方便,他的安装只有一个exe文件,可以下载。
下载可执行文件之后使用命令“sqlite3 dbname”执行就可以创建数据库。
或者为了开发方便下载Sqlite Developer软件,使用软件创建也有方便。下载链接
2. 安装dot net下的Sqlite数据库驱动,其实就是一个dll,System.Data.SQLite,他是一个开源项目,可以到SourceForge上下载
3. 在VS中建立一个Web Application,并引用2中的dll
4. 在default.aspx的cs文件中实现访问Sqlite的代码,代码和注释如下:
最后希望的MS Sql Server Compact可以做一些改进,让我们可以舒服的使用。
本文介绍了如何在asp.net web 程序中使用Sqlite嵌入式数据库,sqlite数据库可以作为文件放在站点的APP_DATA目录下,适合小网站使用,使用它不需要买sql server空间,而且据说它的性能很不错。
Sqlite是嵌入数据库,类似与MS Sql Server Compact,之所以不用Sql server compact是因为它既不支持SELECT TOP也不支持ROW_NUMBER()还不支持LIMIT,也就是我没有办法用它分页了,取数据的时候必须根据条件取,不能在给定条件下取n条。
1. 安装Sqlite数据库,sqlite数据库非常方便,他的安装只有一个exe文件,可以下载。
下载可执行文件之后使用命令“sqlite3 dbname”执行就可以创建数据库。
或者为了开发方便下载Sqlite Developer软件,使用软件创建也有方便。下载链接
2. 安装dot net下的Sqlite数据库驱动,其实就是一个dll,System.Data.SQLite,他是一个开源项目,可以到SourceForge上下载
3. 在VS中建立一个Web Application,并引用2中的dll
4. 在default.aspx的cs文件中实现访问Sqlite的代码,代码和注释如下:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SQLite; namespace SqliteWebApp { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //这个文件是预先生成的数据库文件 string sqliteFilePath = Server.MapPath("~/App_Data/firstsqlite.db"); DataSet ds = new DataSet(); //声明一个Sqlite数据库的链接 using (SQLiteConnection conn = new SQLiteConnection("Data Source=" + sqliteFilePath)) { //创建sqlite命令 using (SQLiteCommand comm = conn.CreateCommand()) { //打开数据库链接 conn.Open(); //插入数据 comm.CommandText = "INSERT INTO [t] VALUES(10,'Hello 9')"; comm.ExecuteNonQuery(); //更新数据 comm.CommandText = "UPDATE [t] SET name = 'Hello 10' WHERE id = 10"; comm.ExecuteNonQuery(); //使用参数插入数据 comm.CommandText = "INSERT INTO [t] VALUES(@id,@name)"; comm.Parameters.AddRange( new SQLiteParameter[]{ CreateSqliteParameter("@id",DbType.Int32,4,11), CreateSqliteParameter("@name",DbType.String,10,"Hello 11") }); comm.ExecuteNonQuery(); comm.Parameters.Clear(); //select数据分页用limit就行,很方便 comm.CommandText = "Select * From MAIN.[t]"; using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(comm)) { adapter.Fill(ds); } } } gv1.DataSource = ds; gv1.DataBind(); } /**//// <summary> /// 放回一个SQLiteParameter /// </summary> /// <param name="name">参数名字</param> /// <param name="type">参数类型</param> /// <param name="size">参数大小</param> /// <param name="value">参数值</param> /// <returns>SQLiteParameter的值</returns> static private SQLiteParameter CreateSqliteParameter(string name,DbType type,int size,object value) { SQLiteParameter parm = new SQLiteParameter(name,type, size); parm.Value = value; return parm; } } }
最后希望的MS Sql Server Compact可以做一些改进,让我们可以舒服的使用。
相关文章推荐
- 在asp.net web 程序中使用Sqlite数据库
- 在asp.net web 程序中使用Sqlite数据库
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
- 使用Asp.Net MVC开发真正的Web程序
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
- xml数据岛,xsl,javascript,asp.net 的结合使用 web 程序模仿 windows 资源管理器
- asp.net程序中使用Sqlite数据库
- asp.net 使用一般处理程序和ajax post实现登录以及记住密码
- 使用 Web 标准生成 ASP.NET 2.0 Web 站点
- 使用 ASP.NET Web 窗体路由
- 【EntityFramework系列教程三,翻译】在ASP.NET MVC程序中使用EntityFramework对数据进行排序、过滤筛选以及实现分页
- 允许asp.net web程序的跨域访问
- 轻松加密ASP.NET 2.0 Web程序配置信息
- ASP.NET-使用事件监视诊断程序异常
- 在ASP.NET程序中使用事件日志的条件——关于注册表的访问控制表
- ASP.NET创建Web服务之使用事务
- 轻松加密ASP.NET 2.0 Web程序配置信息