使用它的数据源的方法,比如:
DataSet.HasChanges 方法 
获取一个值,该值指示 DataSet 是否有更改,包括新增行、已删除的行或已修改的行。

解决方案 »

  1.   

    下面的示例使用 GetChanges 方法创建另一个 DataSet 对象,该对象之后用于更新数据源。private void UpdateDataSet(DataSet dataSet)
    {
        // Check for changes with the HasChanges method first.
        if(!dataSet.HasChanges()) return;    // Create temporary DataSet variable.
        DataSet tempDataSet;    // GetChanges for modified rows only.
        tempDataSet = dataSet.GetChanges(DataRowState.Modified);    // Check the DataSet for errors.
        if(tempDataSet.HasErrors)
        {
            // Insert code to resolve errors.
        }
        // After fixing errors, update the data source with 
        // the DataAdapter used to create the DataSet.
        myOleDbDataAdapter.Update(tempDataSet);
    }
      

  2.   

    SqlConnection myConnection = new SqlConnection(connectionString);
                myConnection.Open();
                adapter.SelectCommand = new SqlCommand("***", myConnection);
                adapter.Fill(table);
                bindingSourceBS.DataSource = table;
                dtGridView.AutoGenerateColumns = false;
                myConnection.Close();我的是这样的,没有dataSet
      

  3.   

    那就对DataTable进行循环,依次检测DataRow的RowState状态。
      

  4.   

    比如:DataRowState rowStates=DataRowState.Modified | DataRowState.Deleted | DataRowState.Added;
    for (int j = 0; j < table.Rows.Count; j++)
    {
        DataRow row = table.Rows[j];
        if ((row.RowState & rowStates) != 0)
        {
           return true;
        }
    }
    return false;
      

  5.   

    你的adapter.Fill(table);
    table就已经是一个数据集了
    等同于:adpter.Fill(new DataSet());
      

  6.   

    楼上“table就已经是一个数据集了”应该表述为“table就已经是一个数据集中的数据表了”
      

  7.   

    hbxtlhx 的方法好,两种方式都可以.
    不知道怎样连接  来自不同数据源的datatable 集合在一个datagridview中?
    并对修改的结果保存到数据库.