SQL запрос, написанный в ASP.NET (код позади VB) не предоставление ожидаемых результатов

Ниже приведена часть моего кода позади в ASP.NET app, код позади является visual basic. При запуске providerOfficeQuery не предоставляет ожидаемых результатов. Можно просмотреть часть базы данных, используемую запросом:

67          RUMINJO, ANNE MD    CHAPEL HILL - PROVIDENCE RD     chapelhillProvidenceRDArrayList
68          RUSSO, FRANK FNP-BC ASHEVILLE - RIDGEFIELD BLVD ashevilleRidgefieldBLVDArrayList
69          SAWYER, LOUIS PHD   DURHAM COUNSELING CENTER    durhamCounselingCenterArrayList
70          SAWYER, LOUIS PHD   DURHAM - SHANNON RD durhamShannonRDArrayList
71          SCHIAPPA, JENNIFER LCSW CARY COUNSELING CENTER  caryCounselingCenterArrayList

Извините за форматирование, поля ID, PROVIDER, OFFICE, OFFICE_ARRAY_LIST соответственно.

Когда providerName равно «SAWYER, LOUIS PHD», я ожидаю, что запрос даст два результата, как строки 69 и 70, а затем предоставить мне офис» Даремский консультационный центр «и» Дарем — Шеннон RD», но когда запрос выполняется, что на самом деле происходит, что я в конечном итоге с» Даремским консультационным центром » дважды. Я проверил это, добавив результаты в Список для проверки результатов.

Я не эксперт, и я прочесал Google и различные форумы и не могу найти, почему это не дает ожидаемых результатов. Есть мысли, кто-нибудь?

Спасибо.

            ' find the Provider's office and add it to the ListBox
        Dim providerOfficeQuery = From populateItem In db.Sheet3_
                                  Where populateItem.PROVIDER = providerName
                                  Select populateItem

        For Each x In providerOfficeQuery

            providerInfoOffice = x.OFFICE

            If providerInfoOffice = "ASHEVILLE - DOCTOR'S PARK" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS OF CENTRAL ASHEVILLE")
            ElseIf providerInfoOffice = "ASHEVILLE - RIDGEFIELD BLVD" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS OF SOUTH ASHEVILLE")
            ElseIf providerInfoOffice = "CARY - E CHATHAM ST" Then
                providerInfoListBox.Items.Add("CPMH AFFILIATE: CARY - DONNA PARRISH")
            ElseIf providerInfoOffice = "CARY - KILDAIRE FARM RD" Then
                providerInfoListBox.Items.Add("CPMH AFFILIATE: CARY - JENNY TART")
            ElseIf providerInfoOffice = "CARY - SE CARY PKWY" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS OF CARY")
            ElseIf providerInfoOffice = "CARY COUNSELING CENTER" Then
                providerInfoListBox.Items.Add("CARY COUNSELING CENTER")
            ElseIf providerInfoOffice = "CHAPEL HILL - FRANKLIN ST" Then
                providerInfoListBox.Items.Add("CPMH AFFILIATE: CHAPEL HILL - DANA BENNISON")
            ElseIf providerInfoOffice = "CHAPEL HILL - PROVIDENCE RD" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS Of CHAPEL HILL")
            ElseIf providerInfoOffice = "CHARLOTTE" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS OF CONCORD")
            ElseIf providerInfoOffice = "DURHAM - BROAD ST" Then
                providerInfoListBox.Items.Add("CPMH AFFILIATE: DURHAM - SARAH DAWSON")
            ElseIf providerInfoOffice = "DURHAM - NEW HOPE COURT" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS AT NEW HOPE COURT")
            ElseIf providerInfoOffice = "DURHAM - SHANNON RD" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS AT SHANNON RD")
            ElseIf providerInfoOffice = "DURHAM COUNSELING CENTER" Then
                providerInfoListBox.Items.Add("DURHAM COUNSELING CENTER")
            ElseIf providerInfoOffice = "NORTH RALEIGH COUNSELING CENTER" Then
                providerInfoListBox.Items.Add("NORTH RALEIGH COUNSELING CENTER")
            ElseIf providerInfoOffice = "RALEIGH - DRESSER COURT" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS OF RALEIGH")
            ElseIf providerInfoOffice = "RALEIGH - NEUROPSYCH CLINIC" Then
                providerInfoListBox.Items.Add("THE NEUROPSYCH CLINIC")
            ElseIf providerInfoOffice = "RALEIGH - RALEIGH ANNEX" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS RALEIGH ANNEX")
            ElseIf providerInfoOffice = "RALEIGH - WELLNESS CENTER" Then
                providerInfoListBox.Items.Add("THE WELLNESS CENTER")
            ElseIf providerInfoOffice = "WAKE FOREST - CAPCOM AVE" Then
                providerInfoListBox.Items.Add("CAROLINA PARTNERS OF WAKE FOREST")
            ElseIf providerInfoOffice = "WAKE FOREST - WFCC" Then
                providerInfoListBox.Items.Add("WAKE FOREST COUNSELING CENTER")
            ElseIf providerInfoOffice = "WILSON - NASH ST" Then
                providerInfoListBox.Items.Add("WILSON PSYCHIATRIC ASSOCIATES A CAROLINA PARTNERS PRACTICE")
            End If

            providerInfoOffice = Nothing

        Next

1 ответ

  1. Попробуйте добавить:

    Dim ResultCount = provierOfficeQuery.Count()
    

    и вывод этого значения ResultCount для случая «Даремский консультационный центр», чтобы убедиться, что вы действительно получаете два результата.

    Если это не два, то вы должны посмотреть на свои исходные данные, как упоминалось Заки. Например, одна из записей для SAWYER, LOUIS PHD может иметь дополнительное пространство или что-то в поле провайдера.