2015-09-06 147 views
0

我有一个时间从数据表中删除一行。 我使用这个代码:VB.NET从dataTable删除行将删除所有行

Dim foundRow As DataRow() = nodes.Select("identifier LIKE '*Scene Root*'") 
    If foundRow.Count > 0 Then foundRow(0).Delete() 
    nodes.AcceptChanges() 

问题是这样的,从数据表中删除所有行。

 Dset.Tables("node").Rows(0).Delete() 

这也删除表中的所有行。我有点困惑,为什么会发生这种情况。 帮助我重拾我的理智!

我应该加..我有单步第一个例子,它发现一行,它是我想删除的行,但实际的.delete删除表中的每一行。 也许它是什么在表中? enter image description here

+0

什么是“节点”,它与Dset.Tables(“节点”)有什么关系,看起来像是在查询一个对象并在另一个对象上进行操作。我也不会使用LIKE。你的代码显示你有确切的标识符,就使用它。 – Plutonix

+0

我不是100%确定,但试试这个:'node.Rows(foundRow(0))。Delete()'...但是,像@Nestor写道,也许你的代码重复运行。 – nelek

回答

0

看起来您的代码可能反复运行。尝试将Debug.WriteLine("Hello, world")放在那里,看看每次应该删除一行时消息出现的次数。

+0

这不会循环..这一行是删除所有行。 这是一个好主意寿。 –

+0

我重新启动了Visual Studio,并获得了同样的结果。 我不知道发生了什么事。它应该只删除一行而不是。它必须在.NET或IDE内部出现问题。 –