Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 2

Разбор кода

27.03.2018, 08:30. Показов 910. Ответов 0

Студворк — интернет-сервис помощи студентам
Пожалуйста, помогите разобраться в коде программы. Нам дали этот пример на самостоятельно изучение, но я не совсем понимаю как создаются таблицы, да и в принципе как она работает. Комментами отметил что более менее разобрал.

FormDGV.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace Lab8
{
    public partial class FormDGV : Form
    {
        public FormDGV( DataTable dataTable)
        {
            InitializeComponent();
            dataGridView1.DataSource = dataTable;
        }
 
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
 
        }
    }
}


FormMain.cs
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
namespace Lab8
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }
        //строка подключения
        const string Connection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\db1.mdb";
        // загрузка формы 
        private void Form1_Load(object sender, EventArgs e)
        {
            var query = "select name from table1 group by name";
            comboBox1.DataSource = WorkWithDB.WorkWithDataTable(Connection, query);
            comboBox1.DisplayMember = "Name";
            comboBox1.ValueMember = "Name";
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            const string query = "select * from table1";
            var formDgv = new FormDGV(WorkWithDB.WorkWithDataTable(Connection,query)) {Text = @"Table1"}; 
            formDgv.Show();
            formDgv.MdiParent = this;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            const string query = "select * from table2";
            var formDgv = new FormDGV(WorkWithDB.WorkWithDataTable(Connection, query)) { Text = @"Table2" };
            formDgv.Show();
            formDgv.MdiParent = this;
        }
        // вввод только цифр
        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            var number = e.KeyChar;
            if (!Char.IsDigit(number) && number != 8) // цифры и клавиша BackSpace
            {
                e.Handled = true;
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length == 0)
            {
                MessageBox.Show(@"Введите число!");
                return;
            }
            else
            {
                var query = "select * from table1 where kolvo <" + textBox1.Text;
                var formDgv = new FormDGV(WorkWithDB.WorkWithDataTable(Connection, query)) { Text = @"Cписок товаров, количество которых меньше заданного" };
                formDgv.Show();
                formDgv.MdiParent = this;
            }
 
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text.Length == 0)
            {
                MessageBox.Show(@"Выберите!");
                return;
            }
            else
            {
                var query = "select name,sum(Kolvo) from table1 where Name ='" + comboBox1.Text + "' group by Name";
                var formDgv = new FormDGV(WorkWithDB.WorkWithDataTable(Connection, query)) { Text = @"Остаток товара меньше заданного" };
                formDgv.Show();
                formDgv.MdiParent = this;
            }
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            const string query = "TRANSFORM Count(Table2.[Count]) AS [Count-Count] SELECT Table2.[idZakazchik], Count(Table2.[Count]) AS [Итоговое значение Count] FROM Table2 GROUP BY Table2.[idZakazchik] PIVOT Table2.[Articul];";
            var formDgv = new FormDGV(WorkWithDB.WorkWithDataTable(Connection, query)) { Text = @"Запрос" };
            formDgv.Show();
            formDgv.MdiParent = this;
        }
 
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
 
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
    }
}


WorkDB.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Lab8
{
    class WorkWithDB
    {
        public static DataTable WorkWithDataTable(string connectionString, string query)
        {
            var table = new DataTable();
            using (var conn = new OleDbConnection(connectionString)) //connString - строка подключения
            {
                var commText = query;
                var comm = new OleDbCommand(commText, conn);
                var adapter = new OleDbDataAdapter(comm);
                adapter.Fill(table);
            }
            return table;
        }
        
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2018, 08:30
Ответы с готовыми решениями:

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

Разбор кода программы Клиент-Сервер
Добрый вечер уважаемые программисты. Будьте добры разобрать код этой программы. Программа представляет собой клиент-сервер и пересылает...

разбор кода по с#(если не сложно прокоментить)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2018, 08:30
Помогаю со студенческими работами здесь

Разбор кода
Всем привет! Собственно, помогаю подруге с изучением C# (сам занимаюсь Java &amp; C++), скинула код и подробно попросила объяснить, так как я...

Разбор кода
Почему используется &quot;:&quot; вместо присваивания? var Group = new DataGroup( uniqueId: feedUrl, ...

Разбор чужого кода
Здравствуйте, Форумчане. Учусь на 4 курсе, научный руководитель дал проект, который нужно доработать (добавить несколько новых функций) ...

Разбор кода (потоки)
Всем привет. Дали кусок когда, попросили объяснить. я как бы совсем в тупике оказался. Это что -то типа program.cs для виндовз форм,...

Классы - разбор кода
в коде на шарпе встретил такую конструкцию .... 1)public Transform target; Потом через пару инструкций встретил target.position ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru