Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 19

Максимальное значение из DataGridView

28.04.2017, 16:05. Показов 2044. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с такой проблемой,
1. При удалении из DataGridView значения по среди таблицы, а потом при следующем запуске (при запуске программа считает количество строк в базе и начинает добавлять запись в БД со следующего значения) при следующей записи в базу и соответственно опять же отображении в DataGridView программа ругается что индекс уже существует. например в базе 100 значений, соответственно 100 строк (от 1-до 100), но когда мы удаляем 97 строку, то количество получается 99 строк, и при следующем запуске мы добавляем строку со значением 100, вот и возникает конфликт что в базе 99 строк и следующую запись с индексом 100 мы не можем добавить, так как она уже присутствует. Задача: при запуске программы, найти максимальное значение из Датагрида, который заполняется так this.tableTableAdapter.Fill(this.weightD atabaseDataSet.Table); и следующую запись добавить исходя из максимального индекса (ID). Добавляю так:
C#
1
2
3
4
 this.tableTableAdapter.Insert(i, text, DT_day);
 this.tableTableAdapter.Update(this.DatabaseDataSet.Table);
 this.tableTableAdapter.Fill(this.DatabaseDataSet.Table);
 this.tableDataGridView.DataSource = this.DatabaseDataSet.Table;
Да и еще вопрос, может кто-то знает как работать с БД SQL Запросами если по сути я не использую ни ConnectString, ни SqlConnection myConnection = new SqlConnection(m_ConnectionString); Все Это программа делает автоматом при запуске Через DataSources. Использую LocalDB в моем проекте этого достаточно. Может где-то есть хорошая литература

2. Эта же программа работает сутками без выключения за час работы оперативная память растет до 50 мб, за 22 часа 300 мб, после 22 часов переполняется и выпадает в ошибку "Прекращена работа программы", программа постоянно пишет данные из СОМ порта в базу. Тут подскажите хотябы направление куда копать, перепробовал все.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.04.2017, 16:05
Ответы с готовыми решениями:

Максимальное значение DataGridView
Здравствуйте, мне необходимо найти максимальное значение DataGridView.Columns хотел добавить в ArrayList коллекцию из...

Нажав на значение (строку) из одного DataGridView поиск в другом DataGridView
Всем привет. Есть 2 DataGridView в одном только дата, а во втором дата и много других столбиков. Нужно при нажатии в 1 DataGridView на дату...

найти максимальное значение в DataGridView
добрый день,форумчане. подскажите пожалуйста как найти максимальное значение в DataGridView. данные в datagrid заполняются после расчетов.

7
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
28.04.2017, 16:43
Цитата Сообщение от Алеск Посмотреть сообщение
Эта же программа работает сутками без выключения за час работы оперативная память растет до 50 мб, за 22 часа 300 мб, после 22 часов переполняется и выпадает в ошибку "Прекращена работа программы", программа постоянно пишет данные из СОМ порта в базу. Тут подскажите хотябы направление куда копать, перепробовал все.
ужос. открой для себя сервисы (они же службы)
0
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 19
28.04.2017, 16:51  [ТС]
может немного неправильно выразился: Оперативку сжирает именно моя программа через несколько часов работы (когда запускается все норм), а не оперативная память в целом растет.

Добавлено через 1 минуту
также программа выводит график по нажатию кнопки изменения данных пришедших из СОМ порта, поэтому службой не катит сделать программу.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
28.04.2017, 17:06
служба будет складывать данные в БД напрямую, а уж графики строй (или блэкджек организовывай) из клиента
0
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 19
28.04.2017, 17:19  [ТС]
читал что проблема с переполнением оперативной памяти может быть в глобальных переменных, но максимальный индекс у меня используется и при удалении записей и при добавлении в БД.

Добавлено через 5 минут
pincet думал про такой вариант, попробую конечно, но очень не хочется переписывать код, все в принципе стабильно работает кроме Оперативки и удаления записей из БД (могу на данный момент удалить все либо ничего=)))

Добавлено через 6 минут
Программа по сути только аналитическая, смотреть определенное значение через промежуток времени
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
28.04.2017, 17:25
Цитата Сообщение от Алеск Посмотреть сообщение
Программа по сути только аналитическая, смотреть определенное значение через промежуток времени
это и есть клиент, которому до одного места, как данные собираются. А у тебя все в одном корытце. Фу так делать
А потом еще и директору какому-нибудь с главным инженегром захочется аналитики - чего делать будешь?
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
28.04.2017, 17:29
Лучший ответ Сообщение было отмечено Алеск как решение

Решение

Алеск, сделайте поле ID identity и вам вообще не придется думать о его значении. Если i у вас был значением id, то вставлять так
C#
1
this.tableTableAdapter.Insert(text, DT_day);
В DataSet нужно будет тоже отметить это поле как identity.
1
0 / 0 / 0
Регистрация: 20.04.2017
Сообщений: 19
28.04.2017, 18:45  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
А у тебя все в одном корытце. Фу так делать
согласен, напихал все в одну форму, но если так подумать у меня-то и задача не сильно уж и сложная, клиенту нужно сохранять эти графики по сути за 1-2-3 дня, не больше, а у меня прога работает 15-22 часов и вырубается

Добавлено через 2 минуты
Цитата Сообщение от Igr_ok Посмотреть сообщение
В DataSet нужно будет тоже отметить это поле как identity.
про этот вариант даже и не подумал. Спасибо, пробую, напишу результат!))

Добавлено через 7 минут
Цитата Сообщение от Igr_ok Посмотреть сообщение
сделайте поле ID identity
посмотрел прогу через Memory Profiler, вот какраз какая-то интовая переменная занимает много оперативной памяти, подозреваю что это и есть мой счетчик строк в БД

Добавлено через 57 минут
Цитата Сообщение от Igr_ok Посмотреть сообщение
Алеск, сделайте поле ID identity и вам вообще не придется думать о его значении. Если i у вас был значением id, то вставлять так
Ваш совет помог, спасибо Вам огромное, теперь могу удалять значения из любого места (по сути в моей программе ID нигде не используется), возможно это мне решит и проблему с оперативной памятью ведь грешил на этот долбанный индекс, если есть еще у кого варианты почему запущенная программа переполняет оперативную память через несколько часов работы, пишите, буду благодарен!
Igr_ok, еще раз спасибо за ответ, четко и в точку!!!)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.04.2017, 18:45
Помогаю со студенческими работами здесь

Найти максимальное значение среди элементов массива, которые делят максимальное значение без остатка
Дан целочисленный массив из n элементов. Элементы могут принимать целые значения от 1 до 500. Найдите максимальное значение среди...

Высчитывает среднее, максимальное, максимальное значение за прошлые сутки
Ребят подскажите как сделать правильно, хочу вывести среднее, максимальное, максимальное значение за прошлые сутки. Все четко группирует...

Вычислить значение z, соответствующие каждому значению x. Определить максимальное по модулю значение z.
Помогите написать программу: Вычислить значение z, соответствующие каждому значению x (xn<x<xk, шаг изменения x равен dx) по...

Найти максимальное и минимальное значение значение функции и соответствующие значения аргументов
Составить программу табулирования функции Y(X) на заданном отрезке с шагом h. Для вычисления значений функции Y(X) использовать...

Вывести на экран значение t при котором функция x(t) принимает максимальное значение
Объясните, как решить с помощью массива. Только начал изучать C++. Знаю, как вывести максимальный из массива. Но как сделать чтобы в этот...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru