Я пытаюсь выполнить итерацию через две таблицы данных, чтобы сравнить их с помощью вложенных циклов, но внешний цикл продолжает выходить из условной переменной.VB.NET-Итерация через таблицу данных, выходящую из связанной
query_strg = "my query"
rs = New SqlCommand(query_strg, myconn)
adap.SelectCommand = rs
adap.Fill(dset)
count = dset.Rows.Count
For k = 0 To (count - 1)
For j = 0 To (dset1.Rows.Count - 1)
If (dset1.Rows(j)("name2").ToString() =dset.Rows(k)("name1").ToString()
OrElse (dset.Rows(k)("name2").ToString() = "General"
OrElse (dset.Rows(k)("name2").ToString() = "general"
OrElse (dset.Rows(k)("name2").ToString() = "Reports")))) Then
dset.Tables(0).Rows(k).Delete()
dset.Tables(0).AcceptChanges()
count = dset.Tables(0).Rows.Count
End If
Next j
Next k
Это мой код .... dset содержит только один столбец, а dset1 содержит 5 столбцов. Мне нужно сравнить один столбец в dset1 с dset, и если это необходимо, мне нужно удалить этот столбец, а также я выполнил другие сравнения, которые являются обязательными ....
Но проблема в том, что внешняя петля выходит из строя что приводит к одному из условий if, чтобы исключить исключение: «Нет строки, доступной в нет». что-то вроде этого.
Нужно знать, почему цикл for выходит из строя и если для него нет решения ... Мне нужно альтернативное представление для выполнения этого действия.
Это может быть, что dset.Rows.Count возвращает значение, отличное dset.Tables (0) .Rows.Count. Попробуйте перейти от внешнего предела (для K = count - 1) и работать при удалении. – andrewb
Вы хотите удалить столбец или строку? Можете ли вы опубликовать образцы данных и ожидаемые результаты –
, счетчик возвращает точное значение ... И мне нужно удалить строки из одной таблицы, которая является dset, а dset1 не нуждается в каких-либо изменениях ...... – Vidhyasaghar