asp.net中怎样将缓存中的数据保存到数据库中?
追问:GridView从缓存中绑定,点击添加按钮,往缓存中加一条空记录,再绑定GridView,删除也从缓存中删除,最后点击保存按钮时才把缓存中的数据保存到数据库中,可以写下伪代码吗?
追问: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如何判断输入的字是多少笔画