当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net网站开发中使用Sqlite嵌入式数据库

ASP.NET
.NET框架类库中的定时器类的使用
net得到本地电脑基本信息的简单方法
如何通过ASP.NET页面重启服务器
.net开发工具LINQ框架设计指南
.net ajax 与Ext2框架在.net程序中的应用
.Net上传图片按比例自动缩小或放大
.NET的死锁调试工具:ACorns.Debugging
ADO在vb.net中的使用(与datagrid结合)
Visual C++中实现双缓冲的基本原理
.net App中集成COM组件的一些简单技巧
vb.net通过app.config来改变编译路径
实例了解Asp.Net的继承和多态性
asp.net里导出excel表方法汇总
ASP.NET上传大于4M的文件的相关设置
.Net开发漫谈:关于命名空间和目录划分
.Net(C#)开发漫谈:关于变量的命名和属性
.Net新手学堂:Lambda表达式的一般应用
故障解析:.NET开发正则表达式中BUG一例
一步一步安装VB.Net(图片较多,请稍等)
关于用VB做更漂亮的窗体的思考

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 179 ::
收藏到网摘: n/a

本文介绍了如何在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可以做一些改进,让我们可以舒服的使用。