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

Составить условие для выборки данных

09.07.2015, 10:02. Показов 4600. Ответов 68
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем Привет!!


Имеется таблица в БД. в которой следующие поля (id, yur_face, num_dog, rukovoditel, type)

Поле "yur_face" это comboBox1

При выборе значения из comboBox1 должны заполняться textBox1 (Поле "num_dog") и textBox2 (Поле "rukovoditel")


Помогите составить запросы на выборку????????????
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2015, 10:02
Ответы с готовыми решениями:

Группа переключателей как условие для выборки данных в запросе Access
Добрый день, уважаемые формучане, требуется ваша помощь. 1. В БД есть две таблицы Сотрудники и Статус (действующий или уволенный) а так...

Условие на проверку открыта ли форма в запрое для последующей выборки
Доброго времени суток! Вот мучаюсь уже не 1 час, хочу написать хитрый запрос на выбоку значений через оператор IiF в котором указать...

Как составить выборки данных
Как составить такие выборки данных в Matlab? V = 16 rand = Если кто умеет, то хотя бы один параметр покажите как рассчитать.

68
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
10.07.2015, 17:57  [ТС]
Студворк — интернет-сервис помощи студентам
без автоматического заполнения полей textBox1 и textBox2

просто оставил грубо говоря один запрос....
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
10.07.2015, 18:11
Цитата Сообщение от Mikky Mous Посмотреть сообщение
без автоматического заполнения полей textBox1 и textBox2
В смысле без этого?:
C#
1
2
3
4
5
6
public void comboBox1_SelectedValueChanged_1(object sender, EventArgs e)
{          
      int ind = comboBox1.SelectedIndex;
      textBox1.Text = ggg2[ind];
      textBox2.Text = ggg3[ind];
}
А где же тогда ошибка?
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
10.07.2015, 20:44  [ТС]
я про switch (case)

Добавлено через 28 секунд
а ошибка в строках

C#
1
2
 textBox1.Text = ggg2[ind];
      textBox2.Text = ggg3[ind];
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
10.07.2015, 20:58
Мистика какая-то. Выложите еще раз код, если не трудно. Должен же где-то быть косяк. Только целиком, не кусками.
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
11.07.2015, 20:34  [ТС]
здесь
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
11.07.2015, 20:37  [ТС]
тут
Вложения
Тип файла: rar Архив.rar (1.72 Мб, 3 просмотров)
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
11.07.2015, 22:39
И всё-таки, в части массивов, код правильный. У меня в аксессном макете работает, а от БД это не зависит. Есть два варианта, когда может вылезти подобное сообщение об ошибке:
1) в БД есть незаполненные поля из которых берутся значения для массивов, возможно, пустая строка лишняя или что-то в этом роде;
2) косяк где-то в другом месте, а то, что эта строка выделяется - такое бывает, у меня по крайней мере не один раз встречалось.
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 11:04  [ТС]
в БД точно все строчки заполнены, попробую в пустом проекте, может и правда косяк в другом месте...

Добавлено через 23 часа 45 минут
забавно..., создал проект, просто подключил БД и выскочила след ошибка

C#
1
Входная строка имела неверный формат.
в строке
C#
1
int col = Convert.ToInt32(comm.ExecuteScalar());
что это может быть???

Добавлено через 3 минуты
сам код
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
 private void Form1_Load(object sender, EventArgs e)
        {
            String connection = "Server=192.3.210.129;Port=5432;User=pgsql;Password=;Database=gorkassa";
            NpgsqlConnection npgSqlConn = new NpgsqlConnection(connection);
            npgSqlConn.Open();
 
 
            string query = "SELECT yur_face FROM export";
            NpgsqlCommand comm = new NpgsqlCommand(query, npgSqlConn);
            // 
            int col = Convert.ToInt32(comm.ExecuteScalar());
            //MessageBox.Show(col.ToString());
            NpgsqlDataReader myReader = comm.ExecuteReader();
 
 
            ggg1 = new String[col];
 
            int i = 0;
 
            while (myReader.Read())
            {
                comboBox1.Items.Add(ggg1[i]);
                i = i + 1;
            }
            myReader.Close();
            npgSqlConn.Close();
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
13.07.2015, 11:19
Цитата Сообщение от Mikky Mous Посмотреть сообщение
что это может быть???
Неправильно сделан запрос. Нужно сначала сделать:
C#
1
2
3
string query = "SELECT COUNT (yur_face) FROM export"; // а еще лучше "SELECT COUNT (*) FROM export"
NpgsqlCommand comm = new NpgsqlCommand(query, npgSqlConn);
int col = Convert.ToInt32(comm.ExecuteScalar());
а потом создать новую команду:
C#
1
2
3
string query1 = "SELECT yur_face FROM export";
NpgsqlCommand comm1 = new NpgsqlCommand(query1, npgSqlConn);
NpgsqlDataReader myReader = comm1.ExecuteReader();
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 11:25  [ТС]
chumich, и снова ошибка...

C#
1
2
Значение не может быть неопределенным.
Имя параметра: item
только в строке
C#
1
 comboBox1.Items.Add(ggg1[i]);
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
13.07.2015, 11:36
Цитата Сообщение от Mikky Mous Посмотреть сообщение
chumich, и снова ошибка...
Ну так правильно. ggg1[i] у вас еще нет. Заполнение ридером ggg1[i] вставьте сначала
C#
1
2
3
4
5
6
            while (myReader.Read())
            {
                ggg1[i] = myReader.GetString(0); // цифру не помню, хотя если вы только одно поле извлекаете, то 0.
                comboBox1.Items.Add(ggg1[i]);
                i = i + 1;
            }
Добавлено через 2 минуты
Но я бы все три сразу делал, как раньше, а то как будете проверять изменение в комбобоксе? Проблема то в нем была.
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 11:47  [ТС]
спасибо, comboBox определяется, но почему-то поля textBox1 и textBox2 не заполняются соответствующими значениями....

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
 private void button1_Click(object sender, EventArgs e)
        {
            String connectionString = "Server=192.168.9.9;Port=5432;User=pgsql;Password=;Database=gorkassa";
            NpgsqlConnection npgSqlConnection = new NpgsqlConnection(connectionString);
            npgSqlConnection.Open();
            MessageBox.Show("Connection opened");
 
            NpgsqlCommand comm = new NpgsqlCommand("SELECT COUNT (*) FROM export", npgSqlConnection);
            int col = Convert.ToInt32(comm.ExecuteScalar());
            NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM export", npgSqlConnection);
            NpgsqlDataReader myReader = cmd.ExecuteReader();
 
            ggg1 = new String[col];
            ggg2 = new String[col];
            ggg3 = new String[col];
 
            int i = 0;
 
            while (myReader.Read())
            {
 
                ggg1[i] = myReader.GetString(1);// порядковый номер считается с 0
                ggg2[i] = myReader.GetString(2);
               // MessageBox.Show(ggg2[i]);
                ggg3[i] = myReader.GetString(3);
               // MessageBox.Show(ggg3[i]);
                comboBox1.Items.Add(ggg1[i]);
                i = i + 1;
            }
            myReader.Close();
            npgSqlConnection.Close();
C#
1
2
3
4
5
6
7
8
9
10
public void comboBox1_SelectedValueChanged_1(object sender, EventArgs e)
        {
 
            //  MessageBox.Show ("qwe" + textBox1.Text + "ewq" + textBox2.Text + "");
            int ind = comboBox1.SelectedIndex;
            //MessageBox.Show (ind.ToString());
            //MessageBox.Show("" + ggg2[ind] + " " + ggg3[ind] + "");
            textBox1.Text = ggg2[ind].ToString();
            textBox2.Text = ggg3[ind].ToString();
        }
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
13.07.2015, 11:58
А почему у вас событие comboBox1_SelectedValueChanged? Поставьте comboBox1_SelectedIndexChanged. И откройте сообщения в 6 и 7 строке этого события, посмотрите: соответствует ли ind диапазону от 0 до col.
1
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 12:18  [ТС]
индексы начинаются с нулевого, но после
C#
1
MessageBox.Show (ind.ToString());
ошибка
C#
1
Ссылка на объект не указывает на экземпляр объекта.
в строке
C#
1
2
 textBox1.Text = ggg2[ind].ToString();
                           textBox2.Text = ggg3[ind].ToString();
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
13.07.2015, 12:33
Чудеса какие-то. Скиньте этот пробный проект.
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 12:40  [ТС]
тут
Вложения
Тип файла: rar Архив WinRAR (2).rar (160.8 Кб, 2 просмотров)
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 12:42  [ТС]
если в таблице следующие поля (id, yur_face, num_dog, rukovoditel, type), то myReader.GetString(0) число "0" обозначает номер поля????
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
13.07.2015, 13:05
Когда вы извлекаете ридером все поля, то 0 - это поле id. Если вы извлекаете только одно поле, то 0 - это будет номер этого извлекаемого поля.
0
0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133
13.07.2015, 13:08  [ТС]
мозг взорван
ошибка
C#
1
Ссылка на объект не указывает на экземпляр объекта.
в строке
C#
1
2
textBox1.Text = ggg2[ind].ToString();
                           textBox2.Text = ggg3[ind].ToString();
голова взорвана....
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
13.07.2015, 13:19
Попробуйте убрать всё из кода Form1_Load, и всё остальное, все менюстрипы и т. д. Оставьте только:
Кликните здесь для просмотра всего текста
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
        public string[] ggg1;
        public string[] ggg2;
        public string[] ggg3;
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int ind = comboBox1.SelectedIndex;
            MessageBox.Show (ind.ToString());
            MessageBox.Show("" + ggg2[ind] + " " + ggg3[ind] + "");
            textBox1.Text = ggg2[ind].ToString();
            textBox2.Text = ggg3[ind].ToString();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            String connectionString = "Server=192.168.9.9;Port=5432;User=pgsql;Password=;Database=gorkassa";
            NpgsqlConnection npgSqlConnection = new NpgsqlConnection(connectionString);
            npgSqlConnection.Open();
            MessageBox.Show("Connection opened");
 
            NpgsqlCommand comm = new NpgsqlCommand("SELECT COUNT (*) FROM export", npgSqlConnection);
            int col = Convert.ToInt32(comm.ExecuteScalar());
            NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM export", npgSqlConnection);
            NpgsqlDataReader myReader = cmd.ExecuteReader();
 
            ggg1 = new String[col];
            ggg2 = new String[col];
            ggg3 = new String[col];
 
            int i = 0;
 
            while (myReader.Read())
            {
                ggg1[i] = myReader.GetString(1);// порядковый номер считается с 0
                ggg2[i] = myReader.GetString(2);
                ggg3[i] = myReader.GetString(3);
                comboBox1.Items.Add(ggg1[i]);
                i = i + 1;
            }
            myReader.Close();
            npgSqlConnection.Close();
        }

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

Составить интервальный ряд распределения для выборки.
помогите пожалуйста!!!! Задана выборка Х 81 92 86 80 81 94 85 102 90 86 80 91 80 76 68 81 85 76 90 88 ...

Составить регэксп для выборки картинок из fb2 файла
нужно выбрать коды картинок из fb2 файла, которые в base64 выглядит так: <binary content-type="image/jpg"...

Составить функцию для выборки из компонент заданного вектора наибольшего элемента
Составить функцию для выборки из компонент заданного вектора a(a1,a2,...,an) наибольшего элемента. Компонент вектора относятся к величинам...

Составить функцию для выборки из компонент заданного вектора наибольшего элемента
Создать программ с использованием функций: Составить функцию для выборки из компонент заданного вектора a(a1 ,a2,...,an) наибольшего...

Условие выборки
Есть две таблицы: юзеры и записи юзеров. В таблице 'записей юзеров' есть поле где пишется логин юзера, тоесть кому принадлежит запись. Надо...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru