Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 37
1

Совпадение столбцов таблицы БД и столбцов DataGridView

18.05.2019, 11:11. Показов 2045. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго дня всем.
Возник вопрос при написании диплома.
Делаю прогу на C#. БД сделал на MS Sql Server.
Совпадение столбцов таблицы БД и столбцов DataGridView

В самом dategridview создал столбцы
Совпадение столбцов таблицы БД и столбцов DataGridView

Хочу, чтобы при загрузке данных (конкретно сейчас таблица: sotrudnic) из бд, столбцы совпадали. Т.е. : id_sotrudnic ---> Номер
FIO ---> ФИО; Obrazov ---> Образование.
В целом получается в БД у меня все столбцы на английском, а хочу чтобы в проге было на русском.
Создал отдельный класс database? в котором методы вставки, обновления, загрузки. А это метод загрузки:
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
static string connectionStr = "Data Source=.\\SQLEXPRESS; Initial Catalog = vkr; Integrated Security=true;";
        SqlConnection cn = new SqlConnection(connectionStr);
 
        public DataTable sotrudnic = new DataTable();
 
        public void Select(DataTable table, string select)
        {
            using (var con = new SqlConnection(connectionStr))
            {
                try
                {
                    con.Open();
                }
                catch (Exception)
                {
                    MessageBox.Show("Подключение к базе данных не установлено!");
                    return;
                }
                table.Clear();
                var selectCommand = con.CreateCommand();
                selectCommand.CommandText = select;
                var dataAdapter = new SqlDataAdapter(selectCommand);
                //Заполнение DataTable из источника данных
                dataAdapter.Fill(table);
            }
        }
Вызов метода в форме Сотрудник:
C#
1
2
3
4
5
6
7
database d = new database();
 
        private void Сотрудники_Load(object sender, EventArgs e)
        {
            d.Select(d.sotrudnic, "select * from sotrudnic;");
            dataGridView1.DataSource = d.sotrudnic;
        }
Кто нибудь сможет помочь с решением такого?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2019, 11:11
Ответы с готовыми решениями:

Создание таблицы: как в DataGridView задать программно количество строк и столбцов
Вообщем есть такое задание. Разработка программного средства для работы с таблицами. При...

Сравнение 2-х столбцов на частичное совпадение
Есть макрос, он сравнивает два столбца на частичное совпадение. При сравнении 50 строк справляется...

Из исходной таблицы в n строк и 6 столбцов нужно сделать таблицу-результат из кучи строк и 6 столбцов
Добрый вечер, учусь в универcитете, начал изучать макросы и подвернулась "интересная" задача -...

Сравнение двух столбцов на совпадение и сортировака
Привет всем! Имеется несколько столбцов с данными по звонкам , нужно отсортировать так чтобы...

3
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
18.05.2019, 12:20 2
neznaika1,
установите для DataGridView свойство AutoGenerateColumns = false:
C#
1
dataGridView1.AutoGenerateColumns = false;
И привяжите созданные столбцы к полям таблицы БД:
C#
1
2
3
column1.DataPropertyName = "id_sotrudnic";
column2.DataPropertyName = "FIO";
//...
1
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 37
18.05.2019, 20:17  [ТС] 3
Даценд, все получилось, спасибо.
Не подскажите, как будет выглядеть метод вставки новой записи в БД?
У меня есть метод,
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
public void Insert(string select)
        {
            using (SqlConnection connection = new SqlConnection(connectionStr))
            {
                SqlCommand cmd = connection.CreateCommand();
                SqlTransaction transaction = null;
 
                cmd.Connection = connection;
                try
                {
                    connection.Open();
 
                    transaction = connection.BeginTransaction();
                    cmd.Transaction = transaction;
 
                    cmd.CommandText = select;
 
                    cmd.ExecuteNonQuery();
                    transaction.Commit();
 
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    MessageBox.Show("Ошибка записи данных в БД. Error: " + ex.Message);
                }
            }
        }
но там Значения берутся из textbox, label:
C#
1
 d.Insert("insert into stock (idspare, count,cell) values (" + id_spare_Sel + "," + label2.Text + "," + textBox1.Text + ")");
А мне надо, чтобы в dgv набрал и кнопка Сохранить.
0
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 37
18.05.2019, 22:09  [ТС] 4
Также не получается заменять внешние ключи на их значение. На MySql работал этот код, здесь почему то нет,
C#
1
d.Select(d.grafMerop, "select * from grafMerop LEFT JOIN sotrudnic ON grafMerop.id_sotrudnic=sotrudnic.id_sotrudnic;");
загружает, но не меняет Id на свое значение. В чем может быть причина?
Совпадение столбцов таблицы БД и столбцов DataGridView
0
18.05.2019, 22:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2019, 22:09
Помогаю со студенческими работами здесь

Сравнение х столбцов на частичное совпадение всех ячеек
Есть 2 столбца A и B. В столбце А слова, а в столбце В фразы из нескольких слов(некоторые ячейки в...

Создание проверки на совпадение 2 столбцов разных таблиц (непростая)
Подскажите, пожалуйста! Есть в файле эксель три листа, на 1 листе производится итог на 2 и 3...

Расположение столбцов в dataGridView
У меня в моей программе есть 4 кнопки вывода разных таблиц на экран в dataGridView. Как такое...

Тип столбцов dataGridView
Возник вопрос. в самой программе (в коде) надо добавлять новые стобцы. Я знаю как добавить...


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

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