0 / 0 / 1
Регистрация: 01.12.2014
Сообщений: 133

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

09.07.2015, 10:02. Показов 4480. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru