FatmaAli2011 Ответов: 1

Как выполнить поиск по нескольким comboboxs


Ореол Ребята

У меня есть вопрос в Visual Basic (Microsoft Visual Basic 2013)

Я ищу таблицу в базе данных, используя больше, чем текстовое поле и CompoBox (обратите внимание, что используется LINQ to sql)

У меня есть таблица в базе данных названий стран и еще одна таблица названий городов и еще одна таблица национальностей (и каждая из них состоит из имени и номера)

Я имею в виду таблицу стран :
Name                     Number
UK                         1
France                     2     ... etc

И таблица городов :
Name                     Number
London                     1
Paris                      2     ... etc

И национальностей:
Name                     Number
British                     1
French                     2     ... etc


Все таблицы заполняются в Combobox
Для имен: Combibox.DisplayMember
А для чисел Combibox.ValueMember
Combibox.selectedValue = -1

А у меня Windows form есть
Текстовое поле для имени
Combobox для пола
Combobox для страны
Со списком городов
Поле Со Списком Национальностей

Вопрос в следующем: Я хочу найти конкретную запись в таблице

Однако, когда я выбираю пол, страну, национальность и город (все вместе), у меня есть результат

Но когда я не выбираю их ( compubexs) или один из compboxes не выполняет поиск, и он показывает ошибку


Есть ли способ решить эту проблему? или как решить эту проблему?

Кроме того, нет необходимости выбирать какой-либо из combobox , я имею в виду, что иногда я хочу искать только по именам, и я хочу запрос такого рода поиска

Заранее всем спасибо

Что я уже пробовал:

Вот как я заполняю comboboxe и страны и национальности одинаковы
Sub FillComb_Cities()
        Comb_City.DataBindings.Clear()
            Dim Cities = From CS In DB.CityLookups Order By CS.CityName
            Comb_City.DataSource = Cities
            Comb_City.DisplayMember = "CityName"
            Comb_City.ValueMember = "CityId"
            Comb_City.SelectedValue = -1
End Sub

1 Ответов

Рейтинг:
2

Jaroslav Mitrovic

Привет.

Я бы попытался создать слой "предварительных условий" для поиска.

Как и в случае Select, где вы вызываете только поиск по "сумме" параметров поиска".


Select Case True
 
Case IsNothing Name = True
'Do the LINQ request here for "Only Name"

Case IsNothing Surname = True
'Do the LINQ request here for "Only Name"

Case IsNnothing Surname AndAlso IsNothing Name
'Do the Linq with "Multiple Conditions"

End Select


И, конечно, пожалуйста, используйте более утонченные условия...

Цитата:
Dim Cities = From CS In DB.CityLookups Order By CS.CityName


"Ничто = истина" - это не так суфистично... ;)

Используйте в LINQ "Where", "Select", "Any" и т. д. что дает вам возможность иметь mor уточненные результаты для поисков...

c.u. Zui из Гамбурга