Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 22
1

Получение ID SQL-запроса из Combobox

15.07.2019, 08:32. Показов 3556. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, делаю SQL-запрос в combobox и нужно получить ID выбранной записи. но у меня выходит вся информация выбранной записи.
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
  SqlConnection = new SqlConnection(connectionString);
 
            await SqlConnection.OpenAsync();
 
            SqlDataReader sqlReader = null;
 
            SqlCommand command = new SqlCommand("SELECT * FROM [Persons]", SqlConnection);
 
            try
            {
                sqlReader = await command.ExecuteReaderAsync();
 
                while (await sqlReader.ReadAsync())
                {
                    comboBox1.Items.Add(Convert.ToString(sqlReader["ID"]) + ". " + Convert.ToString(sqlReader["Имя"]) + " " + Convert.ToString(sqlReader["Фамилия"]) + " " + Convert.ToString(sqlReader["Отчество"]));
                }
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                if (sqlReader != null)
                    sqlReader.Close();
            }
на кнопку ОК
C#
1
 MessageBox.Show(Convert.ToString(comboBox1.Items[comboBox1.SelectedIndex]));
Миниатюры
Получение ID SQL-запроса из Combobox  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2019, 08:32
Ответы с готовыми решениями:

Получение ID посредством SQL-запроса
$id=intval($_GET); $sql=$mysqli->query("SELECT `id`,`icq` FROM `".prefix."shinfo` WHERE...

Получение масива из SQL запроса
Есть таблица в базе даних. Есть запрос который выбирает дание из таблицы. Нужно результат...

Dbgrid+combobox фильтр без sql запроса
По двойному клику в дбгриде открывается новая форма и в располженном на этой форме дбгрид...

Вывод результата SQL запроса в combobox и label
Здравствуйте! Есть таблица с полями Name и Fam На форме combobox1 и Label1 в combobox1...

5
92 / 74 / 24
Регистрация: 31.03.2013
Сообщений: 257
15.07.2019, 09:10 2
А в каком смысле
Цитата Сообщение от Elenres Посмотреть сообщение
но у меня выходит вся информация выбранной записи.
Если здесь ты вносишь всю информацию
Цитата Сообщение от Elenres Посмотреть сообщение
comboBox1.Items.Add(Convert.ToString(sqlReader["ID"]) + ". " + Convert.ToString(sqlReader["Имя"]) + " " + Convert.ToString(sqlReader["Фамилия"]) + " " + Convert.ToString(sqlReader["Отчество"]));
0
0 / 0 / 0
Регистрация: 27.11.2018
Сообщений: 22
15.07.2019, 09:18  [ТС] 3
мне нужно, чтобы при нажатии на ОК был только номер ИД запроса
Миниатюры
Получение ID SQL-запроса из Combobox  
0
92 / 74 / 24
Регистрация: 31.03.2013
Сообщений: 257
15.07.2019, 09:37 4
Лучший ответ Сообщение было отмечено Elenres как решение

Решение

Ну как вариант
C#
1
2
char[] chr =  new char[] {'.'};
MessageBox.Show(Convert.ToString(comboBox1.Items[comboBox1.SelectedIndex]).Split(chr, StringSplitOptions.RemoveEmptyEntries).GetValue(0));
Можно же не писать Convert.TOstring()
C#
1
MessageBox.Show(comboBox1.Items[comboBox1.SelectedIndex].tostring().Split(chr,StringSplitOptions.RemoveEmptyEntries).GetValue(0))
1
Эксперт .NET
17686 / 12872 / 3365
Регистрация: 17.09.2011
Сообщений: 21,138
15.07.2019, 10:10 5
Зачем гонять строки взад-назад?
У нас же ООП — вот и пользуйтесь по-полной:
C#
1
2
3
4
5
6
7
8
9
class Person
{
   public string ID { get; set; }
   public string FirstName { get; set; }
   public string MiddleName { get; set; }
   public string LastName { get; set; }
 
   public override string ToString() => $"{ID}. {FirstName} {LastName} {MiddleName}";
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
while (await sqlReader.ReadAsync())
{
   var person = new Person
   {
      ID = Convert.ToString(sqlReader["ID"]),
      FirstName = Convert.ToString(sqlReader["Имя"]),
      MiddleName = Convert.ToString(sqlReader["Отчество"]),
      LastName = Convert.ToString(sqlReader["Фамилия"])
   };
 
   comboBox1.Items.Add(person);
}
C#
1
2
var person = comboBox1.SelectedItem as Person;
MessageBox.Show(person.ID);
2
1471 / 928 / 452
Регистрация: 06.02.2012
Сообщений: 2,846
15.07.2019, 10:26 6
Нафига такой гемор. не проще сделать запрос, получит таблицу и указать ValueMember.
C#
1
2
3
4
5
6
7
8
9
string script = "SELECT...... FROM ....";
SqlConnection = new SqlConnection(connectionString);
SqlDataAdapter sql_adapter = new SqlDataAdapter(script, connectionString);
DataTable table - new DataTable;
sql_adapter.Fill(table);
comboBox1.DataSource = table;
comboBox1.DisplayMember="Сюда указываем название колонки, которую хотим видеть в списке";
comboBox1.ValueMember = "id"; //<---- /,теперь при выборе какого либо значения в списке, будет выдавать id.
//Соответственно нужно подписаться на событие или comboBox1.SelectedValue
0
15.07.2019, 10:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2019, 10:26
Помогаю со студенческими работами здесь

Вывести результат выполнения SQL запроса в ComboBox
Добрый вечер! У меня такой вопрос: Имеется таблица otel (информация об отелях) с полями id,...

Подставить значение combobox в переменную запроса sql
Уважаемые форумчане! Создал хранимую процедуру в MS SQL server. Хочу подставлять ее для отчета....

Получение значения конкретного поля после SQL запроса
Нужно проверять введенный пароль и логин по MySQL базе и если пароль для данного логина правилен,...

Значение из ComboBox формы в запросе MS SQL для другого ComboBox
Здравствуйте! Научите пожалуйста использовать значение ComboBox (хотя бы VB) в запросе MS SQL....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru