0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 14

Как вывести данные из таблицы Access в DataGridView используя ComboBox?

24.08.2018, 00:10. Показов 2430. Ответов 10

Author24 — интернет-сервис помощи студентам
Подскажите как мне вывести данные из таблицы access в datagridview используя combobox. Очень необходимо. Четвертый день ползаю по сети и не могу подобрать под себя.
Есть две таблицы в БД. tovar(id,name,prihod,ostatok) и sklad(id,name,num).
Нужно чтобы к combobox1 можно было выбрать название склада и показать какой товар находится в нем и вывести в datagridview1. Пока что я сделал форму с кнопками:
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace DG
{
    public partial class MainForm : Form
    {
        private OleDbConnection connection = new OleDbConnection();
        public MainForm()
        {
            InitializeComponent();
            LoadData();
        }
        private void LoadData()
        {
            string connectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb";
            OleDbConnection connection = new OleDbConnection(connectString);           
        connection.Open();
        string query = "select * from tovar ORDER by ide";
                OleDbCommand command = new OleDbCommand(query, connection);
             OleDbDataReader reader = command.ExecuteReader();
             List<string[]> data = new List<string[]>();
             while(reader.Read())
             {
                 data.Add(new string[5]);
                 data[data.Count-1][0]= reader[0].ToString();
                 data[data.Count-1][1]= reader[1].ToString();
                 data[data.Count-1][2]= reader[2].ToString();
                 data[data.Count-1][3]= reader[3].ToString();
                 data[data.Count-1][4]= reader[4].ToString();
             }
             reader.Close();
             connection.Close();
 
             foreach (string[] s in data)
                 dataGridView1.Rows.Add(s);
    }
        void Btn_saveClick(object sender, EventArgs e)
        {
            try
            {
            connection.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = connection;
command.CommandText = "INSERT into tovar (ide, Name, prihod, rashod, ostatok) values('"+txt_ide.Text + "','" + txt_name.Text + "','" + txt_prihod.Text + "','" + txt_rashod.Text + "','" + txt_ostatok.Text + "')";            
command.ExecuteNonQuery();
MessageBox.Show("Data Saved");
dataGridView1.Rows.Clear();
LoadData();
}
catch (Exception ex)
{
MessageBox.Show("Error" + ex);
}
connection.Close();
}
void Button1Click(object sender, EventArgs e)
{
LoadData();
}
void Button2Click(object sender, EventArgs e)
{
dataGridView1.Rows.Clear();
LoadData();
connection.Close();
}
void Txt_deleteClick(object sender, EventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query="delete from tovar where ide = " +txt_ide.Text +"";
MessageBox.Show(query);
command.CommandText = query;
command.ExecuteNonQuery();
MessageBox.Show("Data Deleted");
}
catch (Exception ex)
{
MessageBox.Show("Error" + ex);
}
}
}
}
Буду очень признателен если вы мне поможете!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.08.2018, 00:10
Ответы с готовыми решениями:

Как вывести данные, выбранные в combobox, в DataGridView
Есть форма, на ней combobox, DataGrid. в комбобоксе выбирается кинотеатр, а в гриде отображаются фильмы и время. как это сделать? Вот...

Добавление ComboBox в DataGridView из таблицы в Access;
Добрый день, второй день пытаюсь разобраться. И ничего не получается. =( Нужно что бы поле в DataGridView было ComboBox, DataGridView...

Как при открытии книги сделать, чтобы данные из таблицы Access загружались в ComboBox или ListBox?
Подскажите как при открытии книги сделать, чтобы данные из таблицы Access (там только один столбец) загружались в ComboBox или ListBox (это...

10
 Аватар для Kazbek17
1482 / 937 / 454
Регистрация: 06.02.2012
Сообщений: 2,864
24.08.2018, 00:27
Hsankor87,

Вот так пробуй.
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
 string connectString = @"Provider=Microsoft.Jet.OLEDB.4.0ata Source=db.mdb";
        OleDbConnection connection;
        DataTable table;
        OleDbDataAdapter adapter;
        public void Connect()
        {
           connection = new OleDbConnection(connectString);
        }
        public DataTable RunQuery(string stringQuery)
        {
            adapter = new OleDbDataAdapter(stringQuery, connection);
            table = new DataTable();
           adapter = new OleDbDataAdapter();
            adapter.Fill(table);
            return table;
        }
 
 
 
private void button2_Click(object sender, EventArgs e)
        {
 Connect();
                comboBox1.DataSource = RunQuery("select ide, Name, prihod, rashod, ostatok from tovar ORDER by ide");
                comboBox1.DisplayMember = "Сюда пишем название колоки которую хотим видеть в ComboBox";
                comboBox1.ValueMember = "Сюда пишем название колонки, при выборе значение";
 
                dataGridView1.DataSource = RunQuery(string.Format("select * from tovar where Название колонки= {0}", comboBox1.SelectedValue));
                connection.Close();
        }
0
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 14
24.08.2018, 10:06  [ТС]
Combobox ничего не отображает (
0
 Аватар для Kazbek17
1482 / 937 / 454
Регистрация: 06.02.2012
Сообщений: 2,864
24.08.2018, 10:13
Цитата Сообщение от Hsankor87 Посмотреть сообщение
Combobox ничего не отображает (
Не может быть такого. Проверяйте запрос на выборку данных.
0
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 14
24.08.2018, 10:47  [ТС]
Блин может я рукожоп ?))
Ругается на Fill
0
 Аватар для Kazbek17
1482 / 937 / 454
Регистрация: 06.02.2012
Сообщений: 2,864
24.08.2018, 11:04
Цитата Сообщение от Hsankor87 Посмотреть сообщение
Блин может я рукожоп ?))
Ругается на Fill
Вот вам пример базы не большой.
AccessTest.rar
0
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 14
24.08.2018, 12:26  [ТС]
Не пойму а зачем buttonClick

Добавлено через 4 минуты
А можешь скинуть код сюда ?
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
24.08.2018, 12:32
Цитата Сообщение от Hsankor87 Посмотреть сообщение
string query = "select * from tovar ORDER by ide";
Так у вас id или всё-таки ide ?
Цитата Сообщение от Hsankor87 Посмотреть сообщение
Есть две таблицы в БД. tovar(id,name,prihod,ostatok) и sklad(id,name,num).
0
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 14
24.08.2018, 14:02  [ТС]
В tovar ide в sklad id
0
 Аватар для Kazbek17
1482 / 937 / 454
Регистрация: 06.02.2012
Сообщений: 2,864
24.08.2018, 14:39
Цитата Сообщение от Hsankor87 Посмотреть сообщение
Не пойму а зачем buttonClick
Это я вас понять не могу, я вам полную реализацию показал. Как вывести данные в ComboBox и при выборе какого либо значение в нем, выполнить запрос и вывести результат в dataGridView. Что вам еще нужно?
Какая разница где происходит событие. Если вам не подходит buttonClick, то найдите свое событие которое вам нужно.
Цитата Сообщение от Hsankor87 Посмотреть сообщение
А можешь скинуть код сюда ?
Какой код? Исходником код + .exe в архиве выше.

Если я вас не понял, поставьте вопрос так, чтобы было ясно. Какое событие, откуда выводить выборку, куда заполнять данные, что происходит при выборе значения, и.т.п

Добавлено через 3 минуты
Цитата Сообщение от Hsankor87 Посмотреть сообщение
В tovar ide в sklad id
Какая связь между ними, товар и склад. По ide -> id? что хранит склад, id Товара? Вопросов куча........
0
0 / 0 / 0
Регистрация: 23.08.2018
Сообщений: 14
24.08.2018, 15:04  [ТС]
Все спасибо я разобрался. Сделал как в архиве- в кавычки столбцы внёс и все норм стало) спасибо большое !
А про кнопку я имел ввиду что руководитель сказал чтобы в форме было минимум ручной работы и при выборе пункта из combobox сразу инфа отображались в datagriview. Спасибо )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.08.2018, 15:04
Помогаю со студенческими работами здесь

Как в ComboBox вывести данные из столбца таблицы на другой форме?
Имеются две формы на каждой из которых имеются компоненты для вывод таблицы dbgrid. Как в компонент форме combobox вывести данные из...

Связь ComboBox с DataGridView, где находятся данные из БД Access
Добрый вечер форумчане. Интересует следующий вопрос. Как реализовать связь combobox(привязаны группы студентов ВУЗа источником данных...

Как вывести данные из ячейки таблицы ms access?
Вот у меня есть база данных подключенная к программе все загружается и работает хорошо, хотелось бы узнать каким образом можно вывести...

Как программно вывести данные из таблицы базы ms sql на форму в dataGridView
Ребят, подскажите как программно вывести данные из таблицы базы ms sql на форму в dataGridView. Покажите пример на Visual C++ с...

Получить данные не используя DataGridView из Access в TextBox
Всем привет! Есть проблема. Не знаю как загрузить данные в TextBox из БД Access не привлекая DataGridView. На моем уровне знаний...


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

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

Новые блоги и статьи
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru