Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
--Polinka--
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
1

Поиск по таблице из базы данных SQL

24.05.2011, 22:47. Просмотров 3603. Ответов 11
Метки нет (Все метки)

Понимаю, что тема избита, но перерыв весь Google, MSDN и данный форум, все равно я не могу понять, как можно построить поиск, если DataSet создан автоматически((
Пишут что-то про SELECT...FROM... но я не понимаю, куда это пихать. UpdateCommand нету. Сам селект как-нибудь придумаю.
Пожалуйста, проясните.

Сразу говорю, что в базах данных я не очень. Но стараюсь как могу))
0
Вложения
Тип файла: rar Agentstvo.rar (737.7 Кб, 47 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2011, 22:47
Ответы с готовыми решениями:

Осуществить поиск в таблице базы данных
Осуществить поиск в таблице базы данных Реализовать поиск при нажатии кнопки найти прилагается ...

Поиск номера записи в таблице базы данных
Уважаемы форумчане! Есть детский вопрос, но что-то не могу найти ответ. Имеется таблица в базе...

Подключиться к таблице базы SQL 2000 средствами Visual Studio 2008
Добрый день помогите подключиться к таблице базы SQL 2000 по средствам visual studio 2008,...

Поиск записей по таблице SQL
Здравствуйте! Есть таблица почтовый справочник,в ней есть столбцы: область,районы, населенный...

Поиск записей по таблице SQL
Здравствуйте. Добавляю базу данных SQL как источник данных, затем кидаю на форму таблицу, кидаю...

11
_darko_
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 12
24.05.2011, 23:26 2
C#
1
2
3
4
5
6
7
8
9
10
private DataSet ds = new DataSet();
 
private void Search()
{
                connect.Open();
                adapter.SelectCommand = new OleDbCommand("запрос", connect);
                ds.Clear();
                adapter.Fill(ds);
                connect.Close();
}
0
--Polinka--
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
25.05.2011, 14:10  [ТС] 3
Спасибо большое, но я не понимаю, откуда взять connect. База подключалась автоматически.
И что есть adapter? Tableadapter? тогда он не создает SelectCommand...

P.S. Есть возможность не использовать Ole?
0
Winsor
331 / 267 / 18
Регистрация: 19.01.2011
Сообщений: 597
25.05.2011, 16:46 4
Список чего необходимо построить? По Вашему проэкту этого понять невозможно. Самый главный вопрос - ЗАЧЕМ для каждой таблицы вы создаете отдельный датасет?????

Добавлено через 3 минуты
И еще озадачивает количество невизуальных объектов в любой форме, которые вы туда с конструктора натягали... Разобраться практически (ну кроме творца) - невозможно, что для чего...

Добавлено через 14 минут
Судя по Вашему проекту - Вы не используете Ole* - Вам будет необходим класс SqlCommand . При наличии нормально сформированного DataSet Вы все операции можете производить без прямых запросов к таблицам (SELECT * FROM ... WHERE ...), работать только с DataSet-ом.

Добавлено через 24 секунды
В том числе и поиск, и фильтрацию, и добавление.
0
25.05.2011, 16:46
--Polinka--
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
25.05.2011, 16:49  [ТС] 5
Winsor, Список - информация по рейсу.
Да, мне тоже интересно, зачем для каждой таблицы датасет, но нам так сказал делать учитель (он говорил что-то про быстродействие).
Невизуальные объекты созданы автоматически. Сейчас я еще далека от оптимизации и делания "сразу как надо"(( Работает - зашибись. Я все-таки еще учусь))
0
_darko_
2 / 2 / 0
Регистрация: 18.05.2011
Сообщений: 12
25.05.2011, 17:06 6
C#
1
2
private OleDbConnection connect = new OleDbConnection();
private OleDbDataAdapter adapter = new OleDbDataAdapter();
с Ole проще всего, замарачиваться не приходится, но без него обойтись можно Но это лучше в другой раздел где С++
0
Winsor
331 / 267 / 18
Регистрация: 19.01.2011
Сообщений: 597
25.05.2011, 17:22 7
--Polinka--, не могли бы вы еще предоставить mdf файл, чтобы я мог проверить работу?

Добавлено через 1 минуту
и укажите в какой форме все делается? Search.cs?
0
--Polinka--
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
25.05.2011, 17:26  [ТС] 8
Хорошо, мне надо было сразу догадаться прикрепить его))

да, в этой форме)) в смысле сам поиск. Блин, по дате не нужен поиск, надо будет убрать...
0
Вложения
Тип файла: rar Agentstvo database.rar (846.7 Кб, 63 просмотров)
--Polinka--
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
25.05.2011, 17:53  [ТС] 9
Winsor, я только сейчас прочла, что можно работать напрямую с датасетом)) Можете по-подробней объяснить? Можно ли сделать поиск тоже автоматически? Через "мышку"?)))
0
Winsor
331 / 267 / 18
Регистрация: 19.01.2011
Сообщений: 597
25.05.2011, 18:02 10
Через мышку у Вас никак не получиться. А по поводу работы с объектами датасета - начните с FAQ в этом же разделе.
0
--Polinka--
0 / 0 / 0
Регистрация: 24.05.2011
Сообщений: 6
25.05.2011, 18:04  [ТС] 11
окей, я посмотрю)) спасибки
0
Winsor
331 / 267 / 18
Регистрация: 19.01.2011
Сообщений: 597
26.05.2011, 09:43 12
Зачем в форме Search.cs два поля с одинаковым биндингом? cbxFrom и cbxTo прибиндены к одним и тем же источникам данных? В самомо датасете отсутствует логика для биндингов From и To, есть только одно поле...
Насколько я понял - нужна всего лишь фильтрация вывода в datagridview... Для этого:
1) Поменять в биндинге поля cbxFrom ValueMember на НазваниеСтанции
2) Добавить в кнопку Поиск следующий код
C#
1
2
3
4
5
6
7
8
9
            if (cbxFrom.SelectedIndex != -1)
            {
                string cbxSelectedValue = cbxFrom.SelectedValue.ToString();
                this.dataTableSearchBindingSource.Filter = String.Format("НазваниеСтанции = '{0}'",cbxSelectedValue);
            }
            else
            {
                this.dataTableSearchBindingSource.RemoveFilter();
            }
Все. Для сброса фильтра очищаем поле cbxFrom и нажимаем еще раз Поиск.

Кстати - минус полностью автоматического, как Вы называете "мышкой" программирования - нельзя добавить , например, к полю cbxFrom итем "Все элементы". Необходимо добавлять кнопку, типа - "Сбросить фильтр", или удалять декст в поле cbxFrom и нажимать кнопку "Поиск", а так можно было бы просто привязаться к событию cbxFrom.SelectedValueChanged, ну это вопрос дизайна , так сказать...

Не по теме:

Так нельзя программировать... Ваш учитель весьма неправ, да и подход какой то странный к разработке модели данных, не говоря уже о копировании повторяющихся кусков кода, о процедурном подходе даже и не слышали... Разобраться в Вашем проекте весьма и весьма непросто....

0
26.05.2011, 09:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2011, 09:43

Поиск по таблице через SQL / Delphi и базы данных
Нужно ввести ФИО на поиск в Edit и чтобы он нашел и вывел её в DBEdit. В чем ошибка? var ...

Поиск по таблице из базы данных
У меня есть таблицка в базе данных и форма search.aspx в которой я задаю Имя и Фамилию и ищу по...

Поиск по таблице базы данных по месяцу в дате
Проблема такая. Описала поиск через SQL запрос, но поиск осуществляется по первому символу и далее,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru