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

Запросы в Visual Studio

03.05.2021, 17:27. Показов 2384. Ответов 3
Метки c# (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть БД в Access (скриншот 1). Есть таблица Repair(ремонт) и таблица DetailRepair (тот же ремонт, но тут должно быть написано больше информации). Программу делаю в Visual Studio, вывожу информацию в таблицы через запросы, которые делаю в Access (скриншот 2), хочу, чтобы при щелчке по строке в таблице Repair выводилась доп информация таблицы DetailRepair по одному конкретному заказу, но выводится вся таблица DetailRepair (скриншот 3), подскажите пожалуйста, что исправить, буду очень благодарен
Миниатюры
Запросы в Visual Studio   Запросы в Visual Studio   Запросы в Visual Studio  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2021, 17:27
Ответы с готовыми решениями:

Скажите если я напишу программу на C# в MS Visual studio 2012 на framework 3.5 я потом смогу открыть проект моей программы на MS Visual studio 2008
Скажите если я напишу программу на C# в MS Visual studio 2012 на framework 3.5 я потом смогу открыть проект моей программы на MS Visual...

Стоит ли переходить на Visual Studio 2013 Express c Visual Studio 2012 Ultimate
Слишком дорого стоят полные версии. Какие значимые функции теряются при переходе на версию Express ?

Как открыть проект созданный в Visual Studio 2012 в Visual Studio 2008?
Нашел здесь же тему открытия Visual Studio 2012 в Visual Studio 2010 там написано так. Открыть файл проекта (.sln) с помощью блокнота и...

3
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
03.05.2021, 23:46
1. База
Все спроектировано в принципе грамотно, кроме одной важной детали - избыточность связей между сущностями Repair-Car-Client. Если имеется связь Car-Client и связь Repair-Car зачем нужна лишняя связка Repair-Client, ведь в Car уже есть привязка к клиенту ?
2. Составлять запросы к базе нужно в SSMS во избежание получения граблей при запуске их в ADO.NET.
И учите SQL - со временем Вы поймете, что это не просто эффективнее и практичнее, но и элементарно быстрее и удобнее.
3. У Вас типичный случай "двухэтажных" данных, т.е. реализации один-ко-многим. Выполняется путем связывания двух источников данных между собой по id - кам. Связывание можно сделать как в конструкторе (для новичков) с мгновенным получением нужного результата, так и гибко кодом с учетом сортировок, фильтров и т.д.
Для учебного материала погуглите "WinForms связь двух гридов один-ко-многим".
Мне выдало например, такое : https://www.youtube.com/watch?v=Ykvf8Zl9nr4

Добавлено через 10 минут
Дополнение к Модели БД.
Taблица Car должна содержать марки авто. Без какой-либо привязки к любой другой сущности, включая клиента
Таблица Clent должна содержать информацию о клиенте. Без какой-либо привязки к любой другой сущности, включая авто.
Таблица Repair должна содержать данные о конкретном марке авто конкретного клиента, включая детали об автомобиле - номер, год выпуска, модель и т.д., а также ссылку на клиента-владельца.
Такая схема позволит корректно хранить информацию в случаях наличия у одного клиента несколько конкретных авто (включая две и более аналогичные машины), а также наличия авто одной марки у нескольких разных клиентов. Все многообразие - через таблицу Repair.
1
0 / 0 / 0
Регистрация: 09.05.2019
Сообщений: 19
04.05.2021, 19:22  [ТС]
Вывожу данные в DataGrid с помощью SQL
для первого DataGrid-а:
SQL
1
SELECT r.id_repair, r.databegin, r.dataend, c.FIO, a.marka, r.Price FROM Repair r, client c, Car a WHERE c.id_clienta=a.client_id AND a.id_car=r.car_id
для второго DataGrid-а:
SQL
1
SELECT d.DetailTitle, d.price, d.repairNote, r.id_repair, s.FIO_Sotrudnika FROM DetailRepair d, Repair r, Sotrudnik s WHERE s.id_sotr=d.Sotrudnik_id AND r.id_repair=d.Repair_id
но не понимаю теперь как сделать так, чтобы во втором DataGrid-е выводилась информация только к выбранному id в первом DataGrid-е
Миниатюры
Запросы в Visual Studio  
0
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
04.05.2021, 20:29
C#
1
2
3
4
5
6
7
8
9
10
int id = {значение Id из ячейки текущей строки (SelectedRow) первого грида};
string sql = "SELECT d.DetailTitle, d.price, d.repairNote, r.id_repair, s.FIO_Sotrudnika 
    FROM DetailRepair d 
      left join Repair r on r.id_repair=d.Repair_id
      left join Sotrudnik s on s.id_sotr=d.Sotrudnik_id
    WHERE d.Repair_Id = @Rid
    OREDER BY d.DetailTitle";
SqlCommand cmd = new SqlCommand(sql,connection);
cmd.Parameters.AddWithValue("@Rid",Id);
Grid2.DataSet = cmd.ExecuteReader().ToList();
Добавлено через 54 секунды
Вызывать этот код в событии выбора новой строки в первом гриде.

Добавлено через 3 минуты
Чтобы не ломались названия колонок грида вставьте псевдонимы для выбираемых колонок датасета:
SELECT d.DetailTitle as [Название детали], d.price as [Цена] и т.д.

Добавлено через 8 минут
https://docs.microsoft.com/en-... ew=net-5.0
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2021, 20:29
Помогаю со студенческими работами здесь

Visual Studio Installer после обновления не видит установленную Visual Studio 2019
При попытке добавить компоненты Visual Studio 2019 запускается Visual Studio Installer, который требует обновления. Отказаться невозможно,...

Не открывается файл Visual Studio Solution (.sln) в самом Visual Studio
Доброго дня. Такая проблема. Не открывается файл Visual Studio Solution (.sln) в самом Visual Studio. Пишет error : не удалось загрузить...

Как проект на visual studio 2012 открыть на visual studio 2008
Программа(курсовая) создана на 2012, надо показать и чтобы работала на 2008. Подскажите пожалуйста как решить данную проблему?

Открыть проект Visual Studio 2015 в Visual Studio 2010
Здравствуйте не могу открыть проект созданный в Visual Studio 2015 в Visual Studio 2010.

Чем отличается Visual Studio Community и Visual Studio Code?
в чем разница Visual Studio Code или Visual Studio Community. Описание на англиском где я полный нуль. кто юзал эти IDE и может сказать чем...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru