ASP.NET网站开发中使用Sqlite嵌入式数据库

2013 年 9 月 24 日5110

IT专家网 > 开发平台子站 > net专区

ASP.NET网站开发中使用Sqlite嵌入式数据库

  本文介绍了如何在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的代码,代码和注释如下:


usingSystem;
  usingSystem.Data;
  usingSystem.Configuration;
  usingSystem.Collections;
  usingSystem.Web;
  usingSystem.Web.Security;
  usingSystem.Web.UI;
  usingSystem.Web.UI.WebControls;
  usingSystem.Web.UI.WebControls.WebParts;
  usingSystem.Web.UI.HtmlControls;
  usingSystem.Data.SQLite;
  namespaceSqliteWebApp
  {
  publicpartialclass_Default:System.Web.UI.Page
  {
  protectedvoidPage_Load(objectsender,EventArgse)
  {
  //这个文件是预先生成的数据库文件
  stringsqliteFilePath=Server.MapPath("~/App_Data/firstsqlite.db");
  DataSetds=newDataSet();
  //声明一个Sqlite数据库的链接
  using(SQLiteConnectionconn=newSQLiteConnection("DataSource="+sqliteFilePath))
  {
  //创建sqlite命令
  using(SQLiteCommandcomm=conn.CreateCommand())
  {
  //打开数据库链接
  conn.Open();
  //插入数据
  comm.CommandText="INSERTINTO[t]VALUES(10,'Hello9')";
  comm.ExecuteNonQuery();
  //更新数据
  comm.CommandText="UPDATE[t]SETname='Hello10'WHEREid=10";
  comm.ExecuteNonQuery();
  //使用参数插入数据
  comm.CommandText="INSERTINTO[t]VALUES(@id,@name)";
  comm.Parameters.AddRange(
  newSQLiteParameter[]{
  CreateSqliteParameter("@id",DbType.Int32,4,11),
  CreateSqliteParameter("@name",DbType.String,10,"Hello11")
  });
  comm.ExecuteNonQuery();
  comm.Parameters.Clear();
  //select数据分页用limit就行,很方便
  comm.CommandText="Select*FromMAIN.[t]";
  using(SQLiteDataAdapteradapter=newSQLiteDataAdapter(comm))
  {
  adapter.Fill(ds);
  }
  }
  }
  gv1.DataSource=ds;
  gv1.DataBind();
  }
  /**////
  ///放回一个SQLiteParameter
  ///
  ///参数名字
  ///参数类型
  ///参数大小
  ///参数值
  ///SQLiteParameter的值
  staticprivateSQLiteParameterCreateSqliteParameter(stringname,DbTypetype,intsize,objectvalue)
  {
  SQLiteParameterparm=newSQLiteParameter(name,type,size);
  parm.Value=value;
  returnparm;
  }
  }
  }

  最后希望的MS Sql Server Compact可以做一些改进,让我们可以舒服的使用。

编辑推荐:

1. 开发体验:Asp.net开发中的诡异现象

2. 开发技巧:ASP.NET实现WORD文件自动转换PDF

3. 教程:Asp.net与Xml开发网络硬盘技术

相关文章

关键词: 技巧

责任编辑:谢妍妍

专题推荐

原创文章

微博互动

白皮书

All Rights Reserved, Copyright 2004-2013, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i

0 0