2015-09-06 4 views
0

У меня есть один момент времени, удаляющий одну строку из datatable. Я использую этот код:VB.NET Удаление строки из dataTable удаляет все строки

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

Проблема заключается в это удаление всех строк из DataTable.

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

Это также удаляет все строки из таблицы. Я немного смущен, почему это происходит. Помогите мне восстановить мое здравомыслие!

Я должен добавить .. У меня есть один шаг первый пример, и он находит одну строку, и это строка, которую я хочу удалить, но фактический .delete удаляет каждую строку в таблице. Может быть, что это за стол? enter image description here

+0

Что такое 'nodes 'и как это связано с' Dset.Tables ("node") 'ot выглядит так, будто вы запрашиваете один объект и действуете на другом. Я бы также не использовал LIKE. Ваш код показывает, что у вас есть точный идентификатор, просто используйте его. – Plutonix

+0

Я не уверен на 100%, но попробуйте это: 'node.Rows (foundRow (0)). Delete()' ... Но, как писал @Nestor, возможно, ваш код работает многократно. – nelek

ответ

0

Похоже, что ваш код работает многократно. Попробуйте разместить там Debug.WriteLine("Hello, world") и посмотреть, сколько раз сообщение появляется каждый раз, когда предполагается удалить одну строку.

+0

Это не цикл. Это одна строка, удаляющая все строки. Это была хорошая идея. –

+0

Я перезапустил Visual Studio, и я получил то же самое. Я не знаю, что происходит. Он должен просто удалить одну строку, и она НЕ. Это должно быть что-то неправильно внутри .NET или IDE. –

Смежные вопросы