当前位置:编程学习 > C#/ASP.NET >>

asp.net中怎样将缓存中的数据保存到数据库中?

追问:GridView从缓存中绑定,点击添加按钮,往缓存中加一条空记录,再绑定GridView,删除也从缓存中删除,最后点击保存按钮时才把缓存中的数据保存到数据库中,可以写下伪代码吗?
答案:要看你的具体应用,一般而言,是不要把缓存的数据保存到数据库的,因为实际应用中大多情况下使用缓存的目的是减轻数据库的压力,所以缓存中的数据只会比数据库旧不会比数据库新,需要考虑的问题是何时把数据库中的数据更新至缓存。
其他:DataTable dt = null;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGrid();
        }
    }

    private void BindGrid()
    {
        if (Cache["Products"] != null)
            dt = Cache["Products"] as DataTable;

        if (dt != null)
        {
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
    }

    protected void btnInsert(object sender, EventArgs e)
    {
        if (Cache["Products"] != null)
            dt = Cache["Products"] as DataTable;

        //向dt加一条记录

        //更新缓存
        Cache["Products"] = dt;

        BindGrid();
    }

    protected void btnDelete(object sender, EventArgs e)
    {
        if (Cache["Products"] != null)
            dt = Cache["Products"] as DataTable;

        //向dt加一条记录
        foreach (DataRow row in dt)
        {
            //假设删除编号为3
            if (Convert.ToInt32( row["id"]) == 3)
            {
                dt.Rows.Remove(row);
            }
        }

        //更新缓存
        Cache["Products"] = dt;

        BindGrid();
    }

    protected void btnSave(object sender, EventArgs e)
    {
        if (Cache["Products"] != null)
            dt = Cache["Products"] as DataTable;

        //把dt更新入库,可以遍历dt,逐行添加
    } 

上一个:asp.net母版套用问题:我想做及格页面,套用同一个母板,但是背景图片想手动修改,应该怎么做呢?
下一个:asp.net如何判断输入的字是多少笔画

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,