Попытка циклически просмотреть результаты хранимой процедуры с использованием структуры объекта. Мне нужно сравнить список сообществ со значением в текстовом поле, чтобы пользователь не вводил дубликаты сообществ в базу данных, используя флаг дублирования. Я могу получить свой список сообществ, но у меня возникают трудности при просмотре этого списка.
Dim duplicate = False
Dim list = Accommodations.GetCommunities
For Each n As String In list.CommunityName
If n = txtCommunities.Text Then
duplicate = True
End If
Next n
Во время отладки я могу навести курсор на Accommodationings.GetCommunities и увидеть все значения, которые мне нужно перебрать в поле «CommunityName», но когда я перехожу через цикл, значение n отображается в виде одного символа. Есть ли способ превратить этот набор результатов в список, чтобы я мог просмотреть каждое значение в «CommunityName»
Я также попробовал приведенный ниже код, и он по какой-то причине устанавливает com, равный имени сложного типа, но он правильно перебирает правильное количество элементов в списке. Как извлечь это поле, чтобы сравнить его с текстовым полем?
Dim duplicate = False
Dim com As String = String.Empty
Dim list = Accommodations.GetCommunities
For i As Integer = 0 To list.count - 1
com = list(i).ToString
If com = txtCommunities.Text Then
duplicate = True
End If
Next
Return duplicate
ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ:
Это функция, которую я использовал после. Использовал метод String.Compare () для сравнения строк и игнорирования регистра.
Private Function checkDuplicates()
Dim duplicate = False
Dim list = Accommodations.GetCommunities 'Put items in a list
For i As Integer = 0 To list.count - 1 'loop through the list
If String.Compare(list(i).CommunityName, txtCommunities.Text, True) = 0 Then 'Compare the two strings, comparrison is not case sensitive
duplicate = True 'set dup flag to true
Exit For 'exit loop
End If
Next
Return duplicate
End Function