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

Медленная работа программы при обращении к БД

21.10.2021, 09:03. Показов 4841. Ответов 20

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Программа дважды обращается к БД.
1-ый раз при запуске, чтобы загрузить список в ComboBox.
2-ой раз, когда пользователь подтверждает выбранный элемент в ComboBox.

И я заметил, что эти функции даются программе не легко. Медленно работает. Как это дело можно ускорить? Ну и в целом, как можно оптимизировать код, что можно записать проще?

Ну и в любом случае, прошу делать поправку, что я ещё глупенький и объяснять мне чем подробнее, тем лучше.

Это код вызова БД
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
            class Query
    {
 
        OleDbConnection connection;
        OleDbCommand command;
        OleDbDataAdapter dataAdapter;
        DataTable bufferTable;
 
        public Query(string Conn)//конструктор класса
        {
            connection = new OleDbConnection(Conn);//инициализирует объект подключения
            bufferTable = new DataTable();
            
        }
public DataTable NameSubstanceTable()
        {
            connection.Open();
            dataAdapter = new OleDbDataAdapter("SELECT NameSubstance,№ FROM Substances", connection);
            bufferTable.Clear();
            dataAdapter.Fill(bufferTable);
            connection.Close();
            return bufferTable;
 
        }
 
        public void SubstanceParametr(int num, ref double beta, ref int class_V)
        {
            connection.Open();
            command = new OleDbCommand($"SELECT Beta FROM Substances WHERE №={num}", connection);
            beta = double.Parse(command.ExecuteScalar().ToString());
            command = new OleDbCommand($"SELECT Class_V FROM Substances WHERE №={num}", connection);
            class_V = int.Parse(command.ExecuteScalar().ToString());
            command.ExecuteNonQuery();
            connection.Close();
        }
}
Код WindowsForm
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
    Query controller;
        Calculations function;//класс содержащий некоторые мат.функции
 
        public double beta;
        public int class_V;
        public double sigma = 7;
        public double V_r;
        public double Mt;
 
        public Form1()
        {
            InitializeComponent();
            controller = new Query(ConnectionString.ConnStr);
            function = new Calculations();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            int num = Convert.ToInt32(comboBox1_NameSubstance.SelectedValue);
            controller.SubstanceParametr(num, ref beta, ref class_V);
            int LvlClutter = int.Parse(BoxClutter.Text);
            int LvlSpeed = function.LvlSpeed(class_V, LvlClutter);
            Mt = double.Parse(BoxMt.Text);
            V_r = function.V_r(LvlSpeed, Mt);
            if (comboBox_PforR.Text=="Pf(R)")
            {
                labelUnitsOfValue.Text = "Па";
                double R = double.Parse(BoxValue.Text);
                BoxAnswer.Text = Convert.ToString( $"{function.Pf_R(R, Mt, beta, V_r, sigma):0.00}");
            }
            else if (comboBox_PforR.Text=="R(Pf)")
            {
                labelUnitsOfValue.Text = "м";
                double Pf = double.Parse(BoxValue.Text);
                BoxAnswer.Text = Convert.ToString($"{function.R_Pf(Pf, Mt, beta, V_r, sigma):0.00}");
            }
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1_NameSubstance.DataSource = controller.NameSubstanceTable();
            comboBox1_NameSubstance.DisplayMember = "NameSubstance";
            comboBox1_NameSubstance.ValueMember = "№";
            comboBox1_NameSubstance.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            comboBox1_NameSubstance.AutoCompleteSource = AutoCompleteSource.ListItems;
        }
Добавлено через 12 минут
Забыл добавить, что ACCESS вроде 2021 года.
БД формата accdb.
И таблица обращения зависит от таблицы Excel. Т.е. чтобы изменить БД, мне нужно изменить файл Excel, а изменения автоматически добавятся в БД.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2021, 09:03
Ответы с готовыми решениями:

Медленная работа сетевой программы
В наличии имеются: 1) Роутер TP-Link Tl-WR740N 2) Маршрутизатор D-Link DI-524 3) Коммутатор D-Link DES-1005C 4) 4 ПК с...

Медленная работа - несовершенство программы?
Функция Мулост(Число) вычисляет мультипликативный остаток от извлечения квадратного корня. Function Мулост(Число) Dim m As Double, k...

Медленная работа программы через сетевой диск
Есть два сервера которые находятся в разных подсетях. Один имеет ип адрес 192.168.1.220 другой 192.168.40.50 На серверах установлена...

20
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
29.10.2021, 23:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Frich22 Посмотреть сообщение
Разве в C# есть модели?
"Модель" - это всего лишь термин, широко используемый в программировании, и подразумевает некий абстрактный класс, соответствующий сущности в БД (записи набора данных, возвращаемого запросом к таблице, UDF, SP).
Она (модель) позволяет работать с сущностью БД не вдаваясь в детали, что это за сущность, как она извлекается из базы или кладется туда. Почитайте про ORM и многое станет понятным. В частности то, что c# только один из множества языков, работающих весьма успешно, с этим патерном.

Добавлено через 6 минут
В широком смысле "модель" вообще может быть не связана ни с какой БД, а может отражать лишь некоторый целостный объект, с которым манипулирует программный алгоритм. Т.е. своего рода служить некоторым ящиком, контейнером, содержащим какие-то данные о какой-то сущности.
На моделях построен, к примеру, достаточно популярный и продвинутый патерн MVC, в котором обмен информацией между Клиентом и Web-Сервером с одной стороны и Web-сервером и SQL-сервером - с другой стороны, реализуется моделями.

Добавлено через 1 минуту
Не охота в сотый раз писать туп примеры, их нетрудно найти даже на этом ресурсе.

Добавлено через 9 минут
Цитата Сообщение от Frich22 Посмотреть сообщение
объяснить как взаимосвязаны C# и .NET
.NET - это платформа, фреймворк, набор библиотек с классами и интерфейсами, позволяющий писать приложения, не вдаваясь в подробности реализации его (приложения) работы.
c# - это язык программирования (компилятор), реализованный на платформе .NET
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2021, 23:06

Aser v5 i7 u - очень медленная загрузка системы и такая же медленная работа приложений
Всем привет. Полгода назад купил ноут ( aser v5 i7 u) . Все было нормально, но неделю назад начал не много тормозить, всегда долго...

Очень медленная работа при запуске
Есть вот такое чудо, при запуске выдаёт результат через минуты 2, в чём косяк, ведь код не большой и не сложный. #include...

Медленная работа NETSCAPE при POST
Почему сервер формирует и пересылает страницу(ASP,любой скрипт-язык,POST,ADO) при использовани NETSCAPE на порядок медленнее,чем это делает...

Ошибка при обновлении + медленная работа сервера
Добрый день. Конфигурация «Бухгалтерия сельскохозяйственного предприятия» 3.0.44.140 Платформа 8.3.8.2197 Размер базы 2Гб ...

Медленная работа callback функций при wsDualHttpBinding
Доброго времени суток, уважаемые. Имеется WCF-проект, состоящий из сервиса (Service Library), хоста и клиента. Использую биндинг...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru