VB.NET
''' <summary>
''' 値が変わっていたらTrue、同じならFalse
''' </summary>
Private Function IsChanged(row As DataRow) As Boolean
For Each column As DataColumn In row.Table.Columns
If Not row(column, DataRowVersion.Current).Equals(row(column, DataRowVersion.Original)) Then
Return True
End If
Next
Return False
End Function
'呼び出し方法
'■同じ値ならコミットしておく
If Not IsChanged(row) Thenrow.AcceptChanges()
End If
C#
/// <summary>
/// 値が変わっていたらTrue、同じならFalse
/// </summary>
private bool IsChanged(DataRow row)
{
foreach (DataColumn column in row.Table.Columns)
{
if (!row[column, DataRowVersion.Current].Equals(
row[column, DataRowVersion.Original]))
return true;
}
return false;
}
//呼び出し方法
//■同じ値ならコミットしておく
if (!IsChanged(row))row.AcceptChanges();