ado.net有两种数据访问策略:
直接对数据库操作(command)和使用离线数据集(dataset)
前者直接对数据库读写(增加,删除,修改),后者虽然在内存中,但是可以
通过绑定实现数据同步,DataAdapter是dataset和database的桥梁
这里给出两个例子,例1使用Command修改数据库,例2使用DataAdapter和DataSet.
例1:
SqlConnection cn = new SqlConnection("server=ServerName;database=Northwind;uid=sa;pwd=sa");
SqlCommand cmd = new SqlCommand("Update TableName set FieldName = xxx where FieldName = x",cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
例2:
SqlConnection cn = new SqlConnection("server=ServerName;database=Northwind;uid=sa;pwd=sa");
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand("select * from TableName order by FieldName", cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
SqlCommandBuilder cmb = new SqlCommandBuilder(da)
da.Fill(ds, "TableName");
ds.Tables[0].Rows[0]["FieldName"] = xxx;
da.Update(ds, "TableName");
另外,如果你已经打开一个DataSet一段时间,想重新从数据库中提取数据以保持同步,可以把DataSet清空(Clear),再Fill一次:
ds.Clear();
da.Fill(ds,"TableName");
希望以上对你有所帮助。
- 微软全球技术中心
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)