Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
1

Значения колонки БД перенести в ComboBox

15.05.2014, 19:02. Просмотров 1162. Ответов 22
Метки нет (Все метки)

Здравствуйте, у меня такая проблема ! У меня БД в аксесе сделана и подключена я хотел бы первую строку бд перенести в комбо бокс для выбора товара, можно так сделать ? подскажите как ? заранее спасибо !
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 19:02
Ответы с готовыми решениями:

Перенести выбранное значение из combobox Item в textbox
хочу перенести выбранное значение из combobox Item в textbox.text как мне...

При выборе значения в одном ComboBox меняются значения в других
Помогите, пожалуйста. Есть несколько ComboBox Выбирая значение в...

Значения в ComboBox
Добрый вечер, подключаю БД через public string CmdText; public string...

Значения combobox
Как получить доступ к конкретному значений combobox? Н/р: comboBox.Items:...

Замещение значения в combobox
Есть следующий код private void Compl_Load(object sender, EventArgs...

22
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 19:27 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void Main(string[] args)
        {
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:\dddddddddddddd\отдел кадров\отдел кадров.mdb";
            conn.Open();
            OleDbCommand cmd = conn.CreateCommand();
            cmd.CommandText = "Select название_столбца from название_таблицы where первичный_ключ_табл=1";
            OleDbDataReader dr= cmd.ExecuteQuery();
            while(dr.Read())
            {
              string s=dr.GetString(dr.GetOrdinal("название_столбца"));
            }
            comboBox1.Items.add(s);
        }
писал все прям здесь не проверял, но должно работать
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 19:42  [ТС] 3
А можешь это в программе сделать и скинуть а то что то не совсем понятно ?
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 20:57 4
Вот рабочий код
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
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //создаем подключение
            OleDbConnection conn = new OleDbConnection();
            //устанавливаем строку подключения для данного объекта-подключения
            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:\MyDataBase\Моя БД.accdb";
            //создаем команду
            OleDbCommand cmd = conn.CreateCommand();
            //передаем sql-запрос команде
            cmd.CommandText = "Select мое_поле from Таблица1";
            //открываем подключение
            conn.Open();
            //выполняем команду и 
            //создаем объект чтения данных
            OleDbDataReader dr = cmd.ExecuteReader();
            //метод Read() считывает данные строка за строкой
            while (dr.Read())
            {
                //в данной строке мы выбираем данные хранящиеся в столбце мое_поле
                string str = dr.GetString(dr.GetOrdinal("мое_поле"));
                //записываем данные в коллекцию хранящую пункты в комбобокс
                comboBox1.Items.Add(str);
            }
            //закрываем объект чтения данных и объект подключения
            dr.Close();
            conn.Close();
        }
    }
}
если что непонятно пиши!
0
Миниатюры
Значения колонки БД перенести в ComboBox   Значения колонки БД перенести в ComboBox  
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 22:16  [ТС] 5
а там где мое поле и таблица 1 что писать ?
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 22:19 6
таблица1 - это название твоей таблицы в БД я же принтскрин сделал что-бы ты понял что к чему
мое_поле - это название столбца в таблице "таблица1"
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 22:22  [ТС] 7
C#
1
OleDbDataReader dr = cmd.ExecuteReader();
тут ошибка в конце строки

Ошибка синтаксиса (пропущен оператор) в выражении запроса 'код товара'.
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 22:31 8
в моем коде ошибки нет.
пришли свой SQL-запрос...
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 22:33  [ТС] 9
какой SQL- запрос ? )) вот весь код

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
namespace WindowsFormsApplication16
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //создаем подключение
            OleDbConnection conn = new OleDbConnection();
            //устанавливаем строку подключения для данного объекта-подключения
            conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:\обувь.accdb";
            //создаем команду
            OleDbCommand cmd = conn.CreateCommand();
            //передаем sql-запрос команде
            cmd.CommandText = "Select код товара from обувь";
            //открываем подключение
            conn.Open();
            //выполняем команду и 
            //создаем объект чтения данных
            OleDbDataReader dr = cmd.ExecuteReader();
            //метод Read() считывает данные строка за строкой
            while (dr.Read())
            {
                //в данной строке мы выбираем данные хранящиеся в столбце мое_поле
                string str = dr.GetString(dr.GetOrdinal("код товара"));
                //записываем данные в коллекцию хранящую пункты в комбобокс
                comboBox1.Items.Add(str);
            }
            //закрываем объект чтения данных и объект подключения
            dr.Close();
            conn.Close();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'обувьDataSet.обувь' table. You can move, or remove it, as needed.
            this.обувьTableAdapter.Fill(this.обувьDataSet.обувь);
 
        }
    }
}
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 22:42 10
"Select код товара from обувь"; - вот эта штука называется SQL-запрос
он у тебя написан не правильно!
пиши так:
C#
1
cmd.CommandText = "Select [код товара] from обувь";
если конечно твой столбец называется именно так
для разных провайдеров данных синтаксис SQL-запроса может отличаться(не значительно)!!!!!!
Для MySql например чтобы правильно написать название столбца которое состоит из двух слов, как у тебя код товара, нужно выделить его не квадратными кавычками, а вот так: `код товара`
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 22:58  [ТС] 11
ну вроде всё без ошибок но в комбо боксе пусто
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 23:03 12
скинь сюда свою БД и свой проект
или попробуй сам найти ошибку поставь точку останова где-то перед циклом while и выполняй пошаговое выполнение(кнопка F11), посмотри что будет в ДатаРидере
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 23:10  [ТС] 13
Блин сделай пожалуйста базу и набрасай прогу вроде тебе не долго в базе столбцы такие :
1. Код товара
2. Наименование
3. Кол-во товара
4. Цена

Буду очень благодарен , а то что то у меня не получаеться
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 23:18 14
Цитата Сообщение от Noble23 Посмотреть сообщение
Блин сделай пожалуйста базу и набрасай прогу вроде
а смысл у меня все получится, я хотел найти ошибку в твоей программе, это и для меня не лишний опыт и тебе подсказка, а самому делать какой смысл???
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 23:20  [ТС] 15
да блин у меня уже напрегать начинает ) не понимаю я в чем дело
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 23:22 16
ну скинь сюда свою базу и проект я найду ошибку и скажу тебе)
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 23:26  [ТС] 17
вот там и база
0
Вложения
Тип файла: rar WindowsFormsApplication16.rar (166.0 Кб, 14 просмотров)
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
15.05.2014, 23:32 18
так у тебя же нет в базе никаких данных
0
Noble23
0 / 0 / 0
Регистрация: 20.11.2012
Сообщений: 49
15.05.2014, 23:37  [ТС] 19
дак в проге добавляешь и сохраняешь
0
kmet_misha
36 / 36 / 16
Регистрация: 26.11.2011
Сообщений: 199
16.05.2014, 00:01 20
ты же код который выбирает данные из БД вставил в конструктор класса формы, а в БД на момент выполнения конструктора еще нет никаких данных!!
0
16.05.2014, 00:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2014, 00:01

Значения combobox, добавленные из БД
В качестве значений combobox должен быть список от 1 до 6, взятый из БД, а...

Передать значения из 2 comboBox
В dataset закинул 3 таблицы, связаны так Содержимое 2-х верхних заносятся в...

ComboBox не обновляются значения
Значения, добавляемые в таблицу БД, не отображаются в Combobox,значения...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru