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

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

09.07.2015, 10:02. Показов 4463. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru