Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Снежка89
2 / 2 / 2
Регистрация: 30.12.2010
Сообщений: 24
1

Выборка данных по двум параметрам (пол, возраст)

17.12.2014, 13:14. Просмотров 680. Ответов 2
Метки нет (Все метки)

Доброго времени суток!
Ребята, подскажите как грамотно решить такую задачу. (если не сложно привести примерчик )
Программа по сотрудникам, прилагаю скрин
нужно сделать поиск по сотрудникам, выбираем возраст, а затем выбираем мужчин или женщин.
запрос SQL вот такой:
"SELECT DISTINCT
TN,
pip.pFam,
pip.pIm,
pip.pOtch,
pip.pDatBth,
datediff(year, pip.pDatBth, getDate()) as Age,
s.NameSex
FROM [MsActivity].[dbo].[tLinkPersonProgram] pp
LEFT JOIN HR.dbo.hrPerson pers ON pers.IDPerson = pp.IDPerson
LEFT JOIN HR.dbo.hrPiple pip ON pip.IDPiple = pers.IDPiple
LEFT JOIN HR.dbo.hrSex s ON s.IDSex = pip.IDSex
LEFT JOIN MsActivity.dbo.tMedProgram mp ON mp.IDMedProgram = pp.IDMedProgram
WHERE (datediff(year, pip.pDatBth, getDate()) >= 18 and datediff(year, pip.pDatBth, getDate())<= 55)
and (pip.IDSex = '" + sex + "')";
Пока так пишу к каждому radiobutton'у
наверняка есть способ как это сделать грамотно и красиво. Может как то через case....
и как это лучше сделать? на кнопку? а то при выборе параметров Grid не обновляется
Прошу небольшой примерчик
Заранее большое спасибо!
1
Миниатюры
Выборка данных по двум параметрам (пол, возраст)  
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2014, 13:14
Ответы с готовыми решениями:

Сортировка записей по двум параметрам
Всем привет. У меня следующая задача: я хочу отсортировать результаты по 2ум параметрам, т.е. есть...

Выборка по двум параметрам
Здравствуйте! Прошу помощи у специалистов. Сама я дальше ворда не заглядываю обычно, а тут надо...

Выборка по по двум параметрам из формы
Подскажите пожалуйста такую вещь, в форме есть переменные menu_real и menu_oper, и здесь же в форме...

Выборка по двум параметрам (id, postid)
Привет, пытаюсь сделать выборку для админки по двум параметрам. Для редактированияя статьи....

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

2
Снежка89
2 / 2 / 2
Регистрация: 30.12.2010
Сообщений: 24
17.12.2014, 15:29  [ТС] 2
Лучший ответ Сообщение было отмечено Снежка89 как решение

Решение

Сделала как то так ))) может не очень красиво и слишком громоздко, но пока работает)
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
35
36
37
38
39
40
41
42
43
44
 
// от 40 лет и старше
if (radioButton6.Checked & (radioButton1.Checked | radioButton2.Checked | radioButton3.Checked))
{
if (radioButton1.Checked) sex = 1; // мужчины
else sex = 0;
if (radioButton2.Checked) sex = 0; // женщины
else sex = 1;
 
SqlConnection connection1 = new SqlConnection("server=portal; User Id=web_; Password=web; database=MsActivity; database=HR; ");
connection1.Open();
 
string st1 = "SELECT DISTINCT TN, pip.pFam, pip.pIm, pip.pOtch, pip.pDatBth, 
datediff(year, pip.pDatBth, getDate()) as Age, s.NameSex 
FROM [MsActivity].[dbo].[tLinkPersonProgram] pp 
LEFT JOIN HR.dbo.hrPerson pers ON pers.IDPerson = pp.IDPerson 
LEFT JOIN HR.dbo.hrPiple pip ON pip.IDPiple = pers.IDPiple 
LEFT JOIN HR.dbo.hrSex s ON s.IDSex = pip.IDSex                       
LEFT JOIN MsActivity.dbo.tMedProgram mp ON mp.IDMedProgram = pp.IDMedProgram 
WHERE (datediff(year, pip.pDatBth, getDate()) >= 40) and (pip.IDSex = '" + sex + "')";
 
                    SqlDataAdapter db1 = new SqlDataAdapter(st1, connection1);
                    DataSet ds1 = new DataSet();
                    db1.Fill(ds1);
                    dataGridView2.Columns.Clear();
                    dataGridView2.DataSource = ds1.Tables[0].DefaultView;
                    connection1.Close();
                    dataGridView2.Columns[0].HeaderText = "Таб.№";
                    dataGridView2.Columns[0].Width = 80;
                    dataGridView2.Columns[1].HeaderText = "Фамилия";
                    dataGridView2.Columns[1].Width = 130;
                    dataGridView2.Columns[2].HeaderText = "Имя";
                    dataGridView2.Columns[2].Width = 100;
                    dataGridView2.Columns[3].HeaderText = "Отчество";
                    dataGridView2.Columns[3].Width = 130;
                    dataGridView2.Columns[4].HeaderText = "Дата рождения";
                    dataGridView2.Columns[4].Width = 100;
                    dataGridView2.Columns[5].HeaderText = "Возраст";
                    dataGridView2.Columns[5].Width = 80;
                    dataGridView2.Columns[6].HeaderText = "Пол";
                    dataGridView2.Columns[6].Width = 80;
                    label9.Text = ds1.Tables[0].Rows.Count.ToString(); // количество строк
 
                }
Поясню: radiobutton6 - это возраст от 40 лет и старше, radiobutton1,2,3 - все, мужчины, женщины соответственно.
Мужчины и женщины находятся, все замечательно.

ВОПРОС: как показать их всех? т.е. и мужчин и женщин. Помогите пожалуйста
1
pincet
1382 / 966 / 130
Регистрация: 23.07.2010
Сообщений: 5,226
17.12.2014, 17:24 3
ввести параметр @sex и в where написать sex=@sex or @sex is null
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2014, 17:24

Выборка по двум параметрам (cat, podcat)
Привет, хочу сделать подкатегории. незнаю как сделать выборку site.ru/cat=2podcat=3 . Как такое...

Запрос с параметром и если в результате не единственное значение то выборка уже по двум параметрам
Мужики помогите. Нужно выбрать допустим студента из базы данных через запрос с параметром (допустим...

Получить данных о пользователе по gmail (пол, возраст)
Добрый день, уважаемые. Я умею считывать адреса почтовых ящиков с телефона. Определяю основной у...


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

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

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