如何知道insertsource / dataset是否在insert模式下

时间:2013-04-16 05:21:18

标签: c# winforms

用途:Oracle 9i,VS 2005,.Net Framework 2.0 +,MDAC 2.7 +,Winforms;

在Borland Delphi中,可以使用“状态”方法知道数据源的状态(即TTable,TADOTabale等)。即

如果需要知道表是否处于插入状态,那么我可以编写类似于下面的程序

If table1.State = dsInsert Then
begin
//Do work
end;

同样,是否有任何等效的方法可以找到State,特别是它是否来自.Net Framework中的DataSet,DataTable或BindingSource对象的“Insert”状态?

2 个答案:

答案 0 :(得分:1)

您可以使用属性DataRow检查RowState级别的状态。

Here's msdn documentation.

您还可以使用以下方法检查DataTable中特定类型的modyfications:

DataSet.GetChanges(DataRowState)
  

如果未找到所需DataRowState的行,则返回该方法   空

Here's msdn documentation for that.

答案 1 :(得分:0)

如果我错了,请纠正我,没有办法在DataSet BindingSource中找到状态以太更新插入,但是你可以从表中插入,更新或删除主键

示例:

if (Id > 0)
  //TODO: Update
else
  //TODO: Insert