主营业务:网站制作 网站优化 小程序制作 石家庄网站制作网站建设有限公司欢迎您!
石家庄闪云网络科技有限公司
客服热线15383239821
如何让自己的网站更有质量?

AcceptChanges 方法

发布时间:2011/3/15 14:13:50

DataRow 和 DataTable 类都具有 AcceptChanges 方法。在 DataTable 级别调用 AcceptChanges,会为要调用的每个 DataRow 导致 AcceptChanges 方法。同样,对 DataSet 调用 AcceptChanges 会导致对 DataSet 中的每个表调用 AcceptChanges。照这样,您可在多个级别上调用该方法。调用 DataSet 的 AcceptChanges 将使您只需调用一次,即可对所有次级对象(例如表和行)调用该方法。

当对 DataSet 调用 AcceptChanges 时,任何仍处于编辑模式的 DataRow 对象都将成功结束其编辑。每个 DataRow 的 RowState 属性也会更改;Added 和 Modified 行变为 Unchanged,而 Deleted 行则被移除。

如果 DataSet 包含 ForeignKeyConstraint 对象,则调用 AcceptChanges 方法还将导致实施 AcceptRejectRule。

 

下面的示例将 DataRow 添加到 DataSet 的 DataTable 中。然后针对 DataSet 调用 AcceptChanges 方法,该数据集将级联到它包含的所有 DataTable 对象。

private void AcceptChanges()
{
   DataSet myDataSet;
   myDataSet = new DataSet();

   // Not shown: methods to fill the DataSet with data.
   DataTable t;
   t = myDataSet.Tables["Suppliers"];

   // Add a DataRow to a table.
   DataRow myRow;
   myRow = t.NewRow();
   myRow["CompanyID"] = "NWTRADECO";
   myRow["CompanyName"] = "NortWest Trade Company";

   // Add the row.
   t.Rows.Add( myRow );

   // Calling AcceptChanges on the DataSet causes AcceptChanges to be
   // called on all subordinate objects.
   myDataSet.AcceptChanges();
}

 注意:datatable的每一列都有个状态。忘记有哪些了。如果是改变过的,在update的时候就会跟据修改过的那些资料去修改数据库,没有修改的不动。如果调用了acceptchanges,这些改变后的状态都会被置为未改变。因此update的时候,就不会修改数据库。

下一篇: 详解DataTable用法

相关新闻推荐

在线客服 : 服务热线:15383239821 电子邮箱: 27535611@qq.com

公司地址:石家庄市新华区九中街江西大厦4062

备案号:冀ICP备2022000585号-4