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

Как передать весь список из ListBox-а в таблицу БД MySQL

18.04.2014, 00:47. Показов 5165. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, не смог найти в интернете как передать весь список из listbox-а в строку в mysql. Получается занести только первую строчку их listbox-а. Заношу вот так:
Кликните здесь для просмотра всего текста
C#
1
2
3
 string cmdText = "INSERT INTO tyty (`id`, `fdfs`, `fthfth`) VALUES (@id, @fdfs, @fthfth)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
                cmd.Parameters.AddWithValue("@id", listBox1.Text);

Можно ли заносить в строку через | и как потом можно будет это вывести по отдельности например в label?

Добавлено через 30 минут
Или как добавить каждую строку из listbox-а в новуй строку?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2014, 00:47
Ответы с готовыми решениями:

Создать односвязный список, затем вывести весь список в ListBox
#include "stdafx.h" #include <iostream> using namespace std; class List { public: string Element; List...

Передать список ListBox в ComboBox
Доброго времени суток ув. форумчане. Вопрос следующий : есть ListBox1 и ListBox2 , в ListBox1 загружаются данные из txt файла , в...

Линейные списки: Представить каждую строку как список слов, а весь текст-как список строк
В текстовом файле находятся строки текста,разбитого на отдельные слова.Слова отделяются знаками припинания или пробелами.Представить каждую...

22
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 06:17
listBox1.Items используй.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
18.04.2014, 06:35
Цитата Сообщение от wlx Посмотреть сообщение
Получается занести только первую строчку их listbox-а. Заношу вот так:
Ну listBox1.Text это скорее не "первая строчка", а выделенная в настоящий момент.

Цитата Сообщение от wlx Посмотреть сообщение
Можно ли заносить в строку через | и как потом можно будет это вывести по отдельности например в label?
Не понял вопроса. В любом случае обратиться к конкретной строке листбокса можно так - listBox1.Items[0] (первая строка), listBox1.Items[1] (вторая строка) и так далее. Проще прямо через цикл.

Цитата Сообщение от wlx Посмотреть сообщение
Или как добавить каждую строку из listbox-а в новуй строку?
Следующий код запишет все строки из листбокса в переменную str через пробел:
C#
1
2
3
string str="";
foreach (string s in listBox1.Items)
                str += s+" ";
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 10:55  [ТС]
pav1uxa - через foreach ваш код записывает как в первой строчке id 1, а как сделать, что бы он записывал с новой строки, как в id 2, 3, 4?
id------id_client
1------6963 6963 69183
2------6963
3------6963
4------69183

Добавлено через 38 минут
В дополнение к тому вопросу, в id 1, есть 3 значения через пробел, как их вытаскивать по одному?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 12:34
Попробуй str += s + Environment.NewLine;
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 19:04  [ТС]
nmcf, если так, то не получается(
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
string cmdText = "INSERT INTO tyty (`id`, `333`, `444`) VALUES (@id, @333, @444)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
                cmd.Parameters.AddWithValue("@id", listBox1.Text);
                cmd.Parameters.AddWithValue("@333", listBox2.Text);
                
                string str = "";
                foreach (string s in listBox6.Items)
                    str += s + Environment.NewLine;
 
                cmd.Parameters.AddWithValue("@444", str);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Данные удачно сохранены!");
                connection.Close();


Добавлено через 4 часа 36 минут
Подскажите пожалуйста как так сделать, очень нужно, а в интернете найти немогу
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 19:40
Вместо Environment.NewLine используй любой символ подходящий типа ";". Потом когда прочитаешь из базы в string s, например, вызовешь функцию m = s.Split(";"). Она разделит строку на части по символу и возвратит массив строк.
Если было s="123;456", то будет m[0]="123" и m[1]="456"
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 20:03  [ТС]
nmcf - хорошо, а как мне записать m[0] и m[1] в столбец id?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 20:14
id - это что? Ты извлекаешь из listbox и записываешь в БД c разделителями. При чтении извлекаешь из БД и делишь Split'ом.
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 20:24  [ТС]
nmcf id это имя столбца. Мне извлекать из БД со сплитом ненужно, у меня есть listbox, в нем строчки
строчка1
строчка2
строчка3
вот эти строки мне нужно занести в БД в столбец id, занести каждую стройку123 в разные строки в БД
id
строчка1
строчка2
строчка3
сейчас когда я записываю вот так
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
string cmdText = "INSERT INTO tyty (`id`) VALUES (@id)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
 
                string str = "";
                foreach (string s in listBox6.Items)
                {
                    str += s + ";";
                }
 
 
                cmd.Parameters.AddWithValue("@id", str);

то в БД заноситься все в одну строку.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 20:28
Ты сразу бы так и объяснил. Тебе надо в цикле foreach по listBox1.Items выполнять команду sql, как в твоём первом сообщении. Добавляешь s.
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 20:38  [ТС]
nmcf есть цикл, который заносит в str все строки из listbox
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
string str = "";
                foreach (string s in listBox6.Items)
                {
                    str += s + ";";
                }
а как добавить в разные строки в БД, я так и не понимаю.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 21:21
C#
1
2
3
4
5
6
                string cmdText = "INSERT INTO tyty (`id`, `fdfs`, `fthfth`) VALUES (@id, @fdfs, @fthfth)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
foreach (string s in listBox6.Items) {
cmd.Parameters.AddWithValue("@id", s);
cmd.ExecuteNonQuery();
}
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 21:35  [ТС]
nmcf пробовал уже так, пишет Ошибка записи! и добавляет только первую строчку.
вот весь код кнопки добавления в БД
Кликните здесь для просмотра всего текста
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
private void button1_Click(object sender, EventArgs e)
        {
            string MyConString = "SERVER=localhost;" +
                 "DATABASE=meb;" +
                 "UID=root;" +
                 "PASSWORD=;";
 
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
 
            connection.Open();
            try
            {
                string cmdText = "INSERT INTO tyty (`id`) VALUES (@id)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
                foreach (string s in listBox6.Items)
                {
                    cmd.Parameters.AddWithValue("@id", s);
                    cmd.ExecuteNonQuery();
                }
                MessageBox.Show("Данные удачно сохранены!");
                //connection.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Ошибка записи!");
            }
        }
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 22:15
Уникальность не нарушается? id - ключевое поле?
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 22:26  [ТС]
nmcf
Кликните здесь для просмотра всего текста
s43 . radikal . ru/i101/1404/68/958a682c90c8.png
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 22:34
Не видно.
0
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 22:44  [ТС]
nmcf primary key не стоит в таблице tyty всего один столбец id
Я просто как мог уже делал запросы в гугле, не могу найти вообще информации, есть только как делать селект, уже не знаю что и делать
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.04.2014, 22:49
Лучший ответ Сообщение было отмечено wlx как решение

Решение

А если и это внутрь цикл внести?
C#
1
2
               string cmdText = "INSERT INTO tyty (`id`) VALUES (@id)";
                MySqlCommand cmd = new MySqlCommand(cmdText, connection);
1
34 / 1 / 0
Регистрация: 01.06.2013
Сообщений: 50
18.04.2014, 22:58  [ТС]
nmcf - спасибо большое! Дай бог вам здоровья!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2014, 22:58
Помогаю со студенческими работами здесь

передать таблицу значений в качестве параметра в динамический список на упр форме
Добрый день всем, как передать таблицу значений для выборки из неё значения в динамический список на управляемой форме. причем: не могу...

Как сохранить весь текст с элемента ListBox?
Как сохранить весь текст с элемента ListBox?

Как передать весь массив в вектор?
вот код. как масив arr передать все значения в вектор value. Думал так но не запускается. #include <iostream> #include...

Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере?
Господа форумчане, здравствуйте! Помогите разобраться - как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере... ...

Как можно передать в метод репорта весь массив данных?
С недавних пор начал работать с Reporting Services. Даже не знаю к какому разделу форума отнести вопрос на эту тему. Если кто работал...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru