|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
||||||
Проблема вставки/удаления/редактирования данных в подчиненную таблицу26.09.2021, 00:34. Показов 6616. Ответов 40
Метки нет (Все метки)
Пишу тестовую программу на C# (VisualStudio 2019 Enterprise) для работы с базой Access. Связи с двумя таблицами сделаны на уровне МАСТЕРА при работе с компонентами, то есть без личного написания кода. А вот вставку, редактирование, удаление пишу самостоятельно. Прошу обратить внимание на комментарий в исходнике - "// Работает НЕПРАВИЛЬНО!!!!!!!!!!!!!! Надо исправить. " Если можно и несложно, помогите мне исправить ошибки, не переделывая глобально весь проект. Я по шагам потом себе усложняю все задачи и переделаю код в лучший вариант для серьезных проектов. Что сейчас это для самостоятельного разбора и изучения в программирования баз данных на C#. Другие недостатки такие как повторение строк подключения в разных местах - это можно позже исправить и сократить код. Буду благодарен, если реализуете удаление и обновление(редактирование). Я понял, что в случае в связанных с несколькими таблицами мне не реализовать. Нашел в инете гору примеров, но там имена таблиц, полей, и прочее очень схожие, например, имя таблицы и имя поля совпадают или похожи... В результате я не смог воспользоваться их примерами. Очень неудачные примеры. В моем примере все имена отличаются.... Хотя бы даст толчок, чтобы прояснить что и с чем соединять....
0
|
||||||
| 26.09.2021, 00:34 | |
|
Ответы с готовыми решениями:
40
Программа с типизированным файлом с режимами создания, сортировки, поиска по ключу, редактирования, вставки, удаления Добавление данных в подчиненную таблицу Сортировка данных в подчиненную таблицу |
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||||||||
| 28.09.2021, 21:40 | ||||||||
|
Можно средствами БД: дополнительный столбец , где приведено к одному регистру и ограничение UNIQUEи использованием ХП, которые будут при вставке приводить к тому же регистру наш параметр, и потом INSERTить его, а так как значение в столбце должно быть уникально, то вставки не произойдет. Ниже псевдокод (смесь всего подряд))), главное мысль
0
|
||||||||
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
||
| 28.09.2021, 21:51 [ТС] | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
|||||||||||
| 03.10.2021, 22:17 [ТС] | |||||||||||
|
Взял за основу Вашу библиотеку.... Имя DbWork изменил на MyAccess. Проект реализовал с нуля (новая форма и так далее)... В данный момент не получилось.... На форму бросил 2 dataGrid. Связи пока не делал на уровне манипулиций с компонентами. Самое смешное и противное, что я не знаю куда смотреть, где ошибка или почему возникла....
0
|
|||||||||||
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||||||||
| 03.10.2021, 22:24 | ||||||||
|
Тут просто устанавливается источник данных для гридов, а именно конкретные таблицы из dataset
0
|
||||||||
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
||
| 03.10.2021, 22:24 [ТС] | ||
|
0
|
||
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
|
| 03.10.2021, 22:33 | |
|
Kotik2021, связь чего с чем? Типо при выборе в комбобоксе группы "Принтеры" показываются в таблице только принтеры, хотя в продуктах кроме id группы нет ничего?
0
|
|
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
|||
| 03.10.2021, 22:36 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||
| 03.10.2021, 22:37 | ||
'. Вот и ответ
0
|
||
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
|
| 03.10.2021, 22:38 [ТС] | |
|
и ID вообще нет.
Добавлено через 1 минуту Моя таблица так и называется "MyTable1"... Это было нарочно задано, чтобы потом не путаться с именами полей....
0
|
|
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||
| 03.10.2021, 22:39 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
|
| 03.10.2021, 22:40 [ТС] | |
|
В MyTable1 есть одно поле ключевое myObject.
0
|
|
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
|
| 03.10.2021, 22:41 [ТС] | |
|
0
|
|
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||
| 03.10.2021, 22:45 | ||
|
Добавлено через 1 минуту Я правда не понимаю, что я должен пояснить еще
0
|
||
|
1 / 1 / 0
Регистрация: 25.09.2021
Сообщений: 21
|
||||||||
| 03.10.2021, 23:09 [ТС] | ||||||||
|
Добавлено через 15 минут
0
|
||||||||
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||||||||||||
| 03.10.2021, 23:23 | ||||||||||||
.Fill(DataSet ds, string tableName)
0
|
||||||||||||
|
14726 / 9496 / 1362
Регистрация: 21.01.2016
Сообщений: 35,808
|
|
| 05.10.2021, 05:27 | |
|
Уже вторая страница заканчивается... Может стоит уже прекратить сношаться с устаревшим двадцать лет назад механизмом DataSet'ов, создать нужные классы, описывающие результаты выборок, и руками их прочитать из DataReader'а в коллекцию нужного типа? Тот же
DataGridView прекрасно умеет строить гриды по List<T>.
0
|
|
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
||||||
| 05.10.2021, 08:59 | ||||||
|
Ok
0
|
||||||
|
|
||||||
| 11.10.2021, 11:02 | ||||||
|
ipsorokin, кто вас так научил ридером пользоваться?
Или если пишете для примера кратко, то уж делайте это правильно...
1
|
||||||
|
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
|
|
| 11.10.2021, 11:10 | |
|
Andrey-MSK, я им не пользуюсь))
Отличия заметил только в использовании using.Как приводить к типу - не столь принципиально. А вот тут dataReader["WorkCode"] as string ?? "", я даже не знаю... Вроде бы значение NULL не будет выводиться как "NULL", а будет "", смысл проверки?
0
|
|
|
14726 / 9496 / 1362
Регистрация: 21.01.2016
Сообщений: 35,808
|
||||||
| 11.10.2021, 11:12 | ||||||
DbNull.Value.
0
|
||||||
| 11.10.2021, 11:12 | |
|
Внесение данных из списка в подчиненную таблицу Ошибка при сохранении данных в подчиненную таблицу Создание базы данных с функциями ввода, вывода, редактирования, удаления или добавления данных Пример добавления, удаления и редактирования данных в БД *.mbd Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|