Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860

Выбранное значение из БД MySQL в combobox

21.11.2020, 11:38. Показов 678. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вместо выбора значения в combobox-е ... у меня происходит попытка системой занести значение в БД (насколько я понял - см.скрины).
Мне нужно чтобы я выбрал значение в combobox-е, ... и после, ... id выбранного пункта (и остальная информация) по нажатию на "сохранить" сохранялись в таблицу object.

Вероятно, насколько я понял, это связано с "выбираемым значением" в настройках combobox.
Миниатюры
Выбранное значение из БД MySQL в combobox   Выбранное значение из БД MySQL в combobox   Выбранное значение из БД MySQL в combobox  

Выбранное значение из БД MySQL в combobox  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2020, 11:38
Ответы с готовыми решениями:

Установить выбранное значение в первом combobox во второй combobox
Добрый день! Есть вопрос: Есть 2 формы, на каждой из форм есть по одному комбобоксу, оба комбобокса заполнены из базы, мне...

Получить значение, выбранное в ComboBox
Доброго всем времени суток! Обращаюсь за помощью с такой проблемой. На форме имеется ComboBox, в него с помощью свойств в поле Items...

Запомнить выбранное значение в ComboBox
помогите плиз новичку) что делать что бы combobox запомнил выбранного ? на форме есть combobox в combobox-е цифры с одного до 10, я...

3
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
21.11.2020, 13:02
xamelione25, Понял что нечего не понял.
Цитата Сообщение от xamelione25 Посмотреть сообщение
Вместо выбора значения в combobox-е ... у меня происходит попытка системой занести значение в БД
Каким образом это происходит, вы создали событие какое то на comboBox, чтобы вносились данные?

По скрину видно ошибку, что вы пытаетесь в уникальный столбец внести одинаковое значение. Два одинаковых ключа не могут находиться в одном столбце. Для это и существует уникальность.
1
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
21.11.2020, 13:21  [ТС]
Kazbek17,
Вот код этой страницы:
Кликните здесь для просмотра всего текста
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dapper;
using MySql.Data.MySqlClient;
 
namespace IT_A_stroy
{
    public partial class Form3 : Form
    {
        DataSet ds;
        MySqlDataAdapter adapter;
        MySqlDataAdapter adapter1;
        MySqlCommandBuilder commandBuilder;
        MySqlCommandBuilder commandBuilder1;
        //string sql = "select 'Name_works', 'Size_works', 'Unit_of_size'";
        readonly string connectionString = "server=localhost;user=root;database=a_stroy;password=q1w2e3r4t5y6u7i8o9p0;";
        string sql = "select Name_works, Size_works, Unit_of_size from a_stroy.words_object where 1=2";
 
        public Form3()
        {
            InitializeComponent();
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            dataGridView1.AllowUserToAddRows = false;
            
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                connection.Open();
                ds = new DataSet();
                adapter = new MySqlDataAdapter(sql, connection);
                adapter1 = new MySqlDataAdapter(sql, connection);
                adapter.Fill(ds);
                adapter1.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
            }
        }
        public object SelectItem { get; set; }
 
        //public void comboBox1_Click(object sender, EventArgs e) 
        //{
        //    int selected_id = comboBox1.SelectedIndex;
        //    Object selectItem = comboBox1.SelectedItem;
        //}
 
        //public bool Visible { get; set; }
        private void InsertFromDataGridView_Load(object sender, EventArgs e)
        {
            dataGridView1.AutoGenerateColumns = false;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection connection = new MySqlConnection(connectionString);// объект для установления соединения с БД
            connection.Open();// открываем соединение
                              // запросы
                              // запрос вставки данных в Object
                              //string query = "INSERT INTO Object (id_customer, Name_object, Start_construction, End_construction, Number_contract, Type_of_object, Type_of_construction, Length, Width, Heigth, Name_general_work, Name_proect_organization) VALUES ('" + comboBox1.SelectedValue + "','" + textBox1.Text + "','" + dateTimePicker1.Value.ToShortDateString() + "','" + dateTimePicker2.Value.ToShortDateString() + "','" + textBox2.Text + "','" + comboBox2.SelectedItem + "','" + comboBox3.SelectedItem + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "')";// запрос вставки данных
                              //LAST_INSERT_ID()
 
            // INSERT INTO table_name(col1, col2, ...) VALUES('val1', 'val2'...);
            //MySqlCommand command = new MySqlCommand(query, connection);// объект для выполнения SQL-запроса
            //command.ExecuteNonQuery();// выполняем запрос
            adapter1 = new MySqlDataAdapter(sql, connection);
            commandBuilder1 = new MySqlCommandBuilder(adapter1);
            MySqlCommand mySqlCommand = new MySqlCommand("sp_createObject", connection);
            adapter1.InsertCommand = mySqlCommand;
            adapter1.InsertCommand.CommandType = CommandType.StoredProcedure;
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Name_object", MySqlDbType.VarChar, 255, "Name_object"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Start_construction", MySqlDbType.Date, 50, "Start_construction"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@End_construction", MySqlDbType.Date, 50, "End_construction"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Number_contract", MySqlDbType.VarChar, 255, "Number_contract"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Type_of_object", MySqlDbType.VarChar, 255, "Type_of_object"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Type_of_construction", MySqlDbType.VarChar, 255, "Type_of_construction"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Length", MySqlDbType.Float, 50, "Length"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Width", MySqlDbType.Float, 50, "Width"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Heigth", MySqlDbType.Float, 50, "Heigth"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Name_general_work", MySqlDbType.VarChar, 255, "Name_general_work"));
            adapter1.InsertCommand.Parameters.Add(new MySqlParameter("@Name_proect_organization", MySqlDbType.VarChar, 255, "Name_proect_organization"));
            MySqlParameter parameter2 = adapter1.InsertCommand.Parameters.Add("@id_Object", MySqlDbType.Int32, 0, "id_Object");
            MySqlParameter parameter3 = adapter1.InsertCommand.Parameters.Add("@id_customer", MySqlDbType.Int32, 0, "id_customer");
            parameter2.Direction = ParameterDirection.Output;
            parameter3.Direction = ParameterDirection.Output;
            //adapter1.Direction = ParameterDirection.ReturnValue;
            //adapter1.InsertCommand.ExecuteNonQuery();
            //var result = adapter1.Value;
 
            adapter = new MySqlDataAdapter(sql, connection);
            commandBuilder = new MySqlCommandBuilder(adapter);
            adapter.InsertCommand = new MySqlCommand("sp_CreateUser", connection);
            adapter.InsertCommand.CommandType = CommandType.StoredProcedure;
            adapter.InsertCommand.Parameters.Add(new MySqlParameter("@Name_works", MySqlDbType.VarChar, 50, "Name_works"));
            adapter.InsertCommand.Parameters.Add(new MySqlParameter("@Size_works", MySqlDbType.Float, 50, "Size_works"));
            adapter.InsertCommand.Parameters.Add(new MySqlParameter("@Unit_of_size", MySqlDbType.VarChar, 50, "Unit_of_size"));
            MySqlParameter parameter = adapter.InsertCommand.Parameters.Add("@id_words", MySqlDbType.Int32, 0, "id_words");
            MySqlParameter parameter1 = adapter.InsertCommand.Parameters.Add("@id_Object", MySqlDbType.Int32, 0, "id_Object");
            parameter.Direction = ParameterDirection.Output;
            parameter1.Direction = ParameterDirection.Output;
            
            adapter1.Update(ds);
            adapter.Update(ds);
            
            connection.Close();
            Close();
        }
        //public void SetMyCustomFormat()
        //{
        //    // Set the Format type and the CustomFormat string.
        //    dateTimePicker1.Format = DateTimePickerFormat.Custom;
        //    dateTimePicker1.CustomFormat = "yyyy-mm-dd";
        //    dateTimePicker2.Format = DateTimePickerFormat.Custom;
        //    dateTimePicker2.CustomFormat = "yyyy-mm-dd";
        //}
        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void Form3_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "a_stroyDataSet4.customer". При необходимости она может быть перемещена или удалена.
            this.customerTableAdapter.Fill(this.a_stroyDataSet4.customer);
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            {
                if (MessageBox.Show("Удалить эту строку?", "Удаление", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
 
                    foreach (DataGridViewRow row in dataGridView1.SelectedRows)// удаляем выделенные строки из dataGridView1
                    {
                        dataGridView1.Rows.Remove(row);
                    }
                }
            }
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            DataRow row = ds.Tables[0].NewRow(); // добавляем новую строку в DataTable
            ds.Tables[0].Rows.Add(row);
        }
 
        private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
 
        }
    }
}

Что мне из этой формы нужно: я ввожу параметры (при этом выбираю заказчика в combobox - id_customer) для сохранения в таблицу object. Параллельно с этим выбранный id заказчика (id_customer) приписывается пунктам прописанным в таблице работ относящиеся к этому объекту.
Миниатюры
Выбранное значение из БД MySQL в combobox  
0
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
21.11.2020, 13:31  [ТС]
Kazbek17, вот хранимые две процедуры
C#
1
2
3
4
5
6
7
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_createObject`(in Name_object  VarChar(255), in Start_construction Date, in End_construction Date, in Number_contract VarChar(255), in Type_of_object VarChar(255), in Type_of_construction VarChar(255), in Length Float, in Width Float, in Heigth Float, in Name_general_work VarChar(255), in Name_proect_organization VarChar(255), out id_Object integer, out id_customer integer)
Begin
INSERT INTO Object (id_customer, Name_object, Start_construction, End_construction, Number_contract, Type_of_object, Type_of_construction, Length, Width, Heigth, Name_general_work, Name_proect_organization)
VALUES (id_customer, Name_object, Start_construction, End_construction, Number_contract, Type_of_object, Type_of_construction, Length, Width, Heigth, Name_general_work, Name_proect_organization);
SET id_Object=LAST_INSERT_ID();
SET id_customer=LAST_INSERT_ID();
End
C#
1
2
3
4
5
6
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_CreateUser`(in Name_works VarChar(255), in Size_works Float, in Unit_of_size VarChar(100), out id_words integer, out id_Object integer)
Begin
INSERT INTO Words_object (Name_works, Size_works, Unit_of_size)
VALUES (Name_works, Size_works, Unit_of_size);
SET id_words=LAST_INSERT_ID();
End
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2020, 13:31
Помогаю со студенческими работами здесь

Combobox. Необходимо задать выбранное значение.
Вообщем задача такая. Элемент DBGrid в нём таблица, в комбобоксе варианты для ввода значений. Необходимо, что б в комбобокс, при выборе...

Выбранное значение из combobox выбрать в datagridview
ребята помогите пожалуста такой у меня вопрос : я выбираю значения из combobox которые соответствуют 3-ему столбцу datagridview, и при...

Выбранное в ComboBox значение перенести в Label
каким образом можно выбранное из combobox1 перевести в label1 что бы просто было видно что ты выбрал?

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

Как в бд внести значение выбранное в Combobox
Добрый день. Подскажите как в поле БД ввести значение(string) выбранное в Combobox. Заранее благодарю


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru