【发布时间】:2017-09-01 13:39:30
【问题描述】:
我有一个带有列的数据表的数据集。
我在 Winforms 中用这段代码填充数据集
myAdapter = New SqlDataAdapter("Select * from users", strSqlConn)
myAdapter.Fill(dsDataset, "Users")
dcPk(0) = dsDataset.Tables("Users").Columns("FirstName")
dcPk(1) = dsDataset.Tables("Users").Columns("LastName")
dsDataset.Tables("Users").PrimaryKey = dcPk
是否无论如何要检查是否添加了任何 datatable.Columns vb.net?稍后在代码中例如添加“金额”
dsDataset.Tables("Users").Columns.Add("amount", System.Type.GetType("System.Int32"))
我真正想要的 - 我有很多数据集,我想看看它们是否有任何真正的变化(没有添加不属于数据库的列)如果没有,不要保存到数据库。
当我使用 GetChanges 时,如果我添加了列,我会说我有更改,但应该排除添加的列。
现在我已经对添加的列进行了硬编码以在检查中排除它们,它可以工作,但这不是维护的好方法。另一种方法是复制所有数据集并进行比较,在副本中没有添加列。但是当它有很多数据集时,我不确定性能......
喜欢成行
If row.RowState = DataRowState.Added Then
'Do something
end if
【问题讨论】:
-
你的意思是要查看某个列名的列是否存在?或者
DataTable是否添加了任何列? -
我想看看DataTable有没有添加列
-
为什么不直接运行
If statement?例如;If DataTable.Columns.Count > 0 Then? -
我已经编辑了我的问题,让我更清楚我想要什么。例如,我发现添加了“金额”列