С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9

ComboBox соединить с таблицей из базы MySQL

22.05.2012, 10:30. Показов 4148. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как подсоединить столбец из таблицы к combobox. база mysql
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2012, 10:30
Ответы с готовыми решениями:

Как соединить базу Delphi с базы данных MySQL
Привет всем ,как подключяться к базу данных MySQL которая стоит на хостинге , на моей машине не установлено MySQL , как подключяться к базу...

Присоединение базы данных MySql к comboBox
Помогите пожалуйста реализовать вывод одной колонки из таблицы в comboBox (таблица name, колонка id_name), и так что бы при набирании...

Соединить кнопки с таблицей
Добрый день, помогите пожалуйста соединить кнопки с таблицей. У меня не получается. Сайт на вордпресс, теме Диви.. ...

19
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
22.05.2012, 10:41
tatysya1, для связи с данными нужно использовать 3 свойства Datasource, DataMember, ValueMember
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
22.05.2012, 18:49  [ТС]
спасибо. Но еще один вопрос где их взять?
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
22.05.2012, 19:44
это и есть свойства combobox-a
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
22.05.2012, 19:54  [ТС]
спасибо! почему не видно столбцов таблицы?
Миниатюры
ComboBox соединить с таблицей из базы MySQL  
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
23.05.2012, 07:50
Цитата Сообщение от tatysya1 Посмотреть сообщение
почему не видно столбцов таблицы?
а где там combobox?
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
23.05.2012, 09:31  [ТС]
это сообщение появилось , когда я воспользовалась DaraSourse.

после выполнение этих действий, появляется предыдущие окно.
Миниатюры
ComboBox соединить с таблицей из базы MySQL   ComboBox соединить с таблицей из базы MySQL   ComboBox соединить с таблицей из базы MySQL  

0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
23.05.2012, 17:37
Попробуй в строке подключения укажи use procedure bodies=False.
И я так понимаю у тебя не создано подключение в проекте?
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
23.05.2012, 18:27  [ТС]
спасибо за совет. у меня не работает(
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
24.05.2012, 21:12
Скинь проЭкт
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
24.05.2012, 21:38  [ТС]
Вот. не судите строго
Вложения
Тип файла: rar практика1.rar (153.1 Кб, 41 просмотров)
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
24.05.2012, 21:58
Блин у меня 2008 VS.
Ну ладно.
Первое, есть какие-то серьезные основания использовать ODBC драйвер?
Если нет, то однозначно скачивайте mysql-connector-net-5.2.7 или какая у Вас версия.
Второе, зачем в каждой функции объявлять cn, лишние строки, объявите его один раз глобально.
А в ComboBox Вы просто добавляете string goroda, через Ds

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ComboBox cb = new ComboBox();
           cb.Dock = DockStyle.Top;
           cb.Parent = this;
 
// создать набор данных
 
            DataSet ds = new DataSet();
            DataTable dt = new DataTable("gorod");
            dt.Columns.Add("id_gorod", typeof(string));
            dt.Columns.Add("goroda", typeof(string));
                for(int i=0; i < 20; i++)
                  dt.Rows.Add("id_gorod", "goroda");
 
 
                   ds.Tables.Add(dt);
 
                  cb.DataSource = ds;
 
                  cb.DisplayMember = "gorod.goroda";
                cb.SelectedIndex = 8;

Почему ошибка не понятно.
В любом случаи меняйте подключение через коннектор, и тогда пробуйте..


А через датасет, пробуйте типа такого

VB.NET
1
2
3
4
5
Dim Zadapter As New MySql.Data.MySqlClient.MySqlDataAdapter("select * from *.* where Priz is null order by *", Con)
        Zadapter.Fill(DataSet.table)
        Dim cb As New ComboBox()
        cb.DataSource = DataSet
        cb.DisplayMember = "gorod.goroda"
как то так, сори это vb.net
Но суть понятна
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
24.05.2012, 22:17  [ТС]
Цитата Сообщение от DM_AND Посмотреть сообщение
В любом случаи меняйте подключение через коннектор, и тогда пробуйте..
-я не поняла.

у меня стоит MySQL connector/ODBC 5.1.19
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
24.05.2012, 22:26
Цитата Сообщение от tatysya1 Посмотреть сообщение
-я не поняла.

у меня стоит MySQL connector/ODBC 5.1.19
Да, Вы работаете через ODBC, но есть net driver, написанный для ADO.NET
Ну выбор в любом случаи за Вами...
Но я бы посоветовал скачать net driver, там и примеры есть
1
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
24.05.2012, 22:30  [ТС]
спасибо за совет! сейчас попробую!
0
16 / 16 / 5
Регистрация: 17.05.2012
Сообщений: 124
25.05.2012, 17:57
к MySQL коннекшен из VS у меня сделать так и не получилось. поэтому все писал вручную.

при подключениее DataTable к DataGridView таблица форма строится автоматически.

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

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
            if (!isComboColumnInserted)
            {
                isComboColumnInserted = true; 
                DataGridViewComboBoxColumn comboboxColumn;
                comboboxColumn = CreateComboBoxColumn();
                comboboxColumn.DataSource = opsTypes; // этот лист заранее надо подготовить, у меня он формируется из данных другой таблицы. 
                comboboxColumn.HeaderText = comboboxColumn.DataPropertyName;
                opsDgv.Columns.Insert(7, comboboxColumn);
                this.opsDgv.DataBindingComplete +=
                    new DataGridViewBindingCompleteEventHandler(
                        opsDgv_DataBindingComplete); // этот ивэнт хэндлер должен скрыть НЕ комбобокс столбец. 
            }
            
 
        }
 
        private DataGridViewComboBoxColumn CreateComboBoxColumn()
        {
            DataGridViewComboBoxColumn column =
                new DataGridViewComboBoxColumn();
            {
                column.DataPropertyName = "ops_type";
                column.HeaderText = "Date";
                column.DropDownWidth = 160;
                column.Width = 90;
                column.MaxDropDownItems = 7;
                column.FlatStyle = FlatStyle.Flat;
            }
            return column;
        }
0
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 9
25.05.2012, 18:42  [ТС]
а где найти datatable ? не в свойствах не в панели элементов я не нашла

Добавлено через 8 минут
а кажется поняла.. есть таблица

ид_пред название ид_город к этой таблице прибавить город и написать запрос на вывод таблицы город?
0
16 / 16 / 5
Регистрация: 17.05.2012
Сообщений: 124
25.05.2012, 19:43
Цитата Сообщение от tatysya1 Посмотреть сообщение
а где найти datatable ? не в свойствах не в панели элементов я не нашла

Добавлено через 8 минут
а кажется поняла.. есть таблица

ид_пред название ид_город к этой таблице прибавить город и написать запрос на вывод таблицы город?
таблицу не нужно искать, ее нужно создать. а перед этим подключиться к базе.

типа такого класс себе сделайте:

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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data.MySqlClient;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;
 
namespace ShipManager1
{
    class DBConnect
    {
        public MySqlConnection connection
        {
            set;
            get;
        }
        private string server;
        public string database
        {
            set;
            get;
        }
        private string uid;
        private string password;
 
        //Constructor
        public DBConnect()
        {
            Initialize();
        }
 
        //Initialize values
        private void Initialize()
        {
            server = "localhost";
            database = "capital_shipping";
            uid = "root";
            password = "12345";
            string connectionString;
            connectionString = "SERVER=" + server + ";" + "DATABASE=" +
            database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
 
            connection = new MySqlConnection(connectionString);
            OpenConnection();
        }
 
        //open connection to database
        private bool OpenConnection()
        {
            try
            {
                connection.Open();
                return true;
            }
            catch (MySqlException ex)
            {
                //When handling errors, you can your application's response based 
                //on the error number.
                //The two most common error numbers when connecting are as follows:
                //0: Cannot connect to server.
                //1045: Invalid user name and/or password.
                switch (ex.Number)
                {
                    case 0:
                        MessageBox.Show("Cannot connect to server.  Contact administrator");
                        break;
 
                    case 1045:
                        MessageBox.Show("Invalid username/password, please try again");
                        break;
                }
                return false;
            }
        }
 
        //Close connection
        private bool CloseConnection()
        {
            try
            {
                connection.Close();
                return true;
            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.Message);
                return false;
            }
        }
 
        //Backup
        public void Backup()
        {
            try
            {
                DateTime Time = DateTime.Now;
                int year = Time.Year;
                int month = Time.Month;
                int day = Time.Day;
                int hour = Time.Hour;
                int minute = Time.Minute;
                int second = Time.Second;
                int millisecond = Time.Millisecond;
 
                //Save file to C:\ with the current date as a filename
                string path;
                path = "C:\\sqlbackup\\MySqlBackup" + year + "-" + month + "-" + day +
            "-" + hour + "-" + minute + "-" + second + "-" + millisecond + ".sql";
                StreamWriter file = new StreamWriter(path);
 
 
                ProcessStartInfo psi = new ProcessStartInfo();
                psi.FileName = "mysqldump";
                psi.RedirectStandardInput = false;
                psi.RedirectStandardOutput = true;
                psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}",
                    uid, password, server, database);
                psi.UseShellExecute = false;
 
                Process process = Process.Start(psi);
 
                string output;
                output = process.StandardOutput.ReadToEnd();
                file.WriteLine(output);
                process.WaitForExit();
                file.Close();
                process.Close();
            }
            catch (IOException ex)
            {
                MessageBox.Show("Error , unable to backup!");
            }
 
 
        }
 
        public void Restore()
        {
            try
            {
                //Read file backed file from directory
                string path;
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.InitialDirectory = "c:\\sqlbackup\\" ;
                DialogResult clickedOK = ofd.ShowDialog();
                if (clickedOK != DialogResult.OK) return;
                path = ofd.FileName;
                StreamReader file = new StreamReader(path);
                string input = file.ReadToEnd();
                file.Close();
 
                ProcessStartInfo psi = new ProcessStartInfo();
                psi.FileName = "mysql";
                psi.RedirectStandardInput = true;
                psi.RedirectStandardOutput = false;
                psi.Arguments = string.Format(@"-u{0} -p{1} -h{2} {3}",
                    uid, password, server, database);
                psi.UseShellExecute = false;
 
 
                Process process = Process.Start(psi);
                process.StandardInput.WriteLine(input);
                process.StandardInput.Close();
                process.WaitForExit();
                process.Close();
            }
            catch (IOException ex)
            {
                MessageBox.Show("Error , unable to Restore!");
            }
        }
    }
}
ДэйтаГридВью расположите на экране без таблицы. Таблицу потом подключите через дэйтасорс/дэйтабинд.

Потому как если у Вас Visual Studio Express то дизайнер датасета работать с Мусклем не будет.

все эти фокусы - подключение в серверу, адаптер, билдер и т.д. придется написать вручную.
1
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,590
Записей в блоге: 1
26.05.2012, 18:20
Если Express то да. А так, нормально работает, не нуд=жно переписывать руками,что можно создать быстро дизайнером.
0
16 / 16 / 5
Регистрация: 17.05.2012
Сообщений: 124
27.05.2012, 23:56
Цитата Сообщение от DM_AND Посмотреть сообщение
Если Express то да. А так, нормально работает, не нуд=жно переписывать руками,что можно создать быстро дизайнером.
если нужно чтобы программа сама создавала базу и таблицы и не нужно много модификаций со столбцами проводить. то руками быстрее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.05.2012, 23:56
Помогаю со студенческими работами здесь

Соединить кнопки с таблицей, сайт на вордпресс
Добрый день, помогите пожалуйста соединить кнопки с таблицей. У меня не получается. Сайт на вордпресс, теме Диви.. ...

Как выпадающее меню соединить с таблицей БД?
Уважаемые пользователи этого форума,подскажите пожалуйста как можно содержимое с таблицы БД вставить в выпадающее меню,вот скрипт что нужно...

Пользовательский ComboBox с Таблицей
Доброго времени суток. Появилась задача в DataGrid необходимо вставить элемент ComboBox, но при раскрывании его чтобы отображалась таблица....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru