问题提出:对于频繁访问数据库的一些操作,我们希望把这些数据读到内存中,然后在数据集中存放这些数据,对这些数据进行操作。这样的好处是显而易见的,速度有较大的提高。而且,对于数据集,我们可以对它进行修改添加删除等操作。我们只要在希望把对数据集的改变在希望的时候读入数据库就可以了。
对数据集操作后,要将更新保存到数据库中,我们有三个属性可以利用
A. updateCommand
B. insertCommand
C. deleteCommand
这里,我们将对另外一种技术进行探讨:命令构建器commandbuilder
下面,我以对于一个表加入行,然后更新数据库来说明这样的操作。
1. 连接数据库,填充数据集
- string sql = @"select * from student";
- SqlDataAdapter da = new SqlDataAdapter();
- da.SelectCommand = new SqlCommand(sql,conn);
- SqlCommandBuilder comBuilder = new SqlCommandBuilder(da);
- DataSet ds = new DataSet();
- da.Fill(ds,"student1");
- DataTable dt = ds.Tables["student1"];
2. 添加一行
- DataRow neRow = dt.NewRow();
- neRow["name"] = "hahaha";
- neRow["age"] = 22;
- dt.Rows.Add(neRow);
3. 更新数据库,保存更新
- da.Update(ds,"student1");
这样,我们就可以在内存中对数据进行处理,并且可以在希望的时间对数据库更新。