Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.04.2018
Сообщений: 34

Поиск в локальной базе данных по диапазону значений

14.05.2019, 11:18. Показов 827. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Создала я локальную базу и хотела сделать сортировку по диапазону значений основываясь на одном из столбце значений. В БД одна таблица.
добавление элементов в базу и сохранение сделала так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private void btnNew_Click(object sender, EventArgs e)
        {
            try
            {
                //Add a new object to binding source
                Edit(true);
                appData.PhoneBooks.AddPhoneBooksRow(appData.PhoneBooks.NewPhoneBooksRow());
                phoneBooksBindingSource.MoveLast();
                txtPhoneNumber.Focus();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                appData.PhoneBooks.RejectChanges();
            }
        }
 private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                //Update data to sql database
                Edit(false);
                phoneBooksBindingSource.EndEdit();
                phoneBooksTableAdapter.Update(appData.PhoneBooks);
                dataGridView.Refresh();
                txtPhoneNumber.Focus();
                MessageBox.Show("Your data has been successfully saved.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                appData.PhoneBooks.RejectChanges();
            }
        }
Попробовала сделать поиск текста по всем значениям в базе:
C#
1
2
3
4
5
6
7
8
9
10
11
private void txtSearch_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                //Filter data
                if (!string.IsNullOrEmpty(txtSearch.Text))
                    phoneBooksBindingSource.Filter = string.Format("PhoneNumber = '{0}' OR FullName LIKE '*{1}*' OR Email = '{2}' OR Address LIKE '*{3}*'", txtPhoneNumber.Text, txtFullName.Text, txtEmail.Text, txtAddress.Text);
                else
                    phoneBooksBindingSource.Filter = string.Empty;
            }
        }
Подскажите, пожалуйста, как сформировать условие поиска по диапазону значений
Начала формировать вот так:
C#
1
2
3
4
5
6
7
8
9
if (!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(textBox2.Text))
            {
                int a1 = Convert.ToInt32(textBox1.Text);
                int a2 = Convert.ToInt32(textBox2.Text);
                if (Convert.ToInt32(phoneBooksBindingSource.Filter) >= a1 && Convert.ToInt32(phoneBooksBindingSource.Filter) <= a2)
                    phoneBooksBindingSource.Filter = string.Format("PhoneNumber = '{0}'", txtPhoneNumber.Text);
            }
            else
                phoneBooksBindingSource.Filter = string.Empty;
В результате поиска выдает неправильное значение, а при уменьшении диапазона ругается
Помогите, пожалуйста

Добавлено через 57 минут
Заметила, что поиск не работает и переделала его
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)13)
            {
                if (string.IsNullOrEmpty(txtSearch.Text))
                {
                    //Заполнить данные для датированных
                    this.phoneBooksTableAdapter.Fill(this.appData.PhoneBooks);
                    phoneBooksBindingSource.DataSource = this.appData.PhoneBooks;
                    //dataGridView.DataSource = employeesBindingSource;
                }
                else
                {
                    //используя linq для запроса данных
                    var query = from o in this.appData.PhoneBooks
                                where o.FullName.Contains(txtSearch.Text) || o.PhoneNumber == txtSearch.Text || o.Email == txtSearch.Text || o.Address.Contains(txtSearch.Text)
                                select o;
                    phoneBooksBindingSource.DataSource = query.ToList();
                    //dataGridView.DataSource = query.ToList();
                }
            }
        }
Я поняла что надо прописать условие в строке
C#
1
where o.FullName.Contains(txtSearch.Text) || o.PhoneNumber == txtSearch.Text || o.Email == txtSearch.Text || o.Address.Contains(txtSearch.Text)
и заменить ее на примерно
C#
1
where  o.PhoneNumber == (txtSearch.Text )
А как сделать в этих скобках условие не понимаю
Помогите пожалуйста
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2019, 11:18
Ответы с готовыми решениями:

Поиск по локальной базе данных
При реализации поиска по таблице Сессия (локальная база данных) ищет только на английском или цифры, на русском не ищет. if (...

Поиск в базе данных числовых значений
Как осуществить поиск числовых значений в базе данных? Для поиска строковых значений использовал данный код: if FindEdit.Text &lt;&gt; ''...

Поиск по базе данных значений подходящих к условию.
Помогите пожалуйста. Есть база данных в Access. В ней значения от 1 и до бесконечности (ну это в теории). Количество значений может...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2019, 11:18
Помогаю со студенческими работами здесь

Поиск в базе данных по полю, допускающее несколько значений
Итак, назрел вопрос, нигде однозначного ответа не нашел. Есть База данных, включающая в себя одну таблицу (Лабораторный журнал) и две...

поиск в базе данных и запись значений строки в одномерный массив
Помогите Поожалуста))) У меня есть база данных access через ADO соединяется с Delphi мне нужно найти строку в базе данных и значения...

Поиск по диапазону значений (ооп)
как можно было бы сделать поиск по диапазону цен, который вводит пользователь #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Поиск значений по заданному диапазону
Приветствую! Заданы столбец чисел и какой-то числовой диапазон. Нужно узнать количество чисел столбца входящих в заданный диапазон. ...

Поиск уникальных значений по диапазону, суммирование количества и добавление суммы на сводный лист
Доброго времени, Есть количество уникальных значений на Листе1 , нужно найти эти значения на Листе2, посчитать общее количество и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru