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

 我来答
moon7912
2011-08-10 · TA获得超过118个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:315万
展开全部
要看你的具体应用,一般而言,是不要把缓存的数据保存到数据库的,因为实际应用中大多情况下使用缓存的目的是减轻数据库的压力,所以缓存中的数据只会比数据库旧不会比数据库新,需要考虑的问题是何时把数据库中的数据更新至缓存。
追问
GridView从缓存中绑定,点击添加按钮,往缓存中加一条空记录,再绑定GridView,删除也从缓存中删除,最后点击保存按钮时才把缓存中的数据保存到数据库中,可以写下伪代码吗?
平梦醉神风1I
2011-08-10 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1037万
展开全部
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,逐行添加
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式