2015-09-06 104 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內部出現問題。 –