6 / 6 / 1
Регистрация: 20.02.2015
Сообщений: 114
1

Как грамотно передать кучу данных из формы в model (mvc) а затем в БД?

25.01.2016, 18:00. Показов 1762. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Например форма с полями для ввода ФИО и даты рождения и соответственная таблица в бд (Person). Просто сделать функцию public void SetPerson(string lastName, string firstName...) в классе, предположим, DBManager и передавать туда свойства интерфейса IVeiw. Ну типа в контроллере вызвать model.DBManager.SetPerson(view.LastName, viewFirstName...). А если там 50 разных по типу переменных или больше? Создавать класс? Как правильно чтоб потом можно было без проблем вносить изменения. Если не затруднит реальный пример покажите., что бы разобраться раз и навсегда. Спасибо.

Добавлено через 1 час 39 минут
Короче, написал много и бестолково... Мне ОЧЕНЬ ИНТЕРЕСНО как грамотно передать данные из БД на форму и обратно. Так как приложение будет усложняться решил использовать паттерн mvc.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2016, 18:00
Ответы с готовыми решениями:

Как передать кучу переменных при отправке формы в эту же страницу?
На моей PHP-странице есть форма и пустая таблица. Человек заполняет поля в форме и нажимает кнопку...

Что может выступать хранилищем данных для модели (model) в реализации паттерна MVC?
Добрый день , уважаемые форумчане! Помогите ответить на вопрос

Как запустить средствами C++, Java и передать кучу параметров?
Здравствуйте! Интересует следующий вопрос как запустить Java и передать очень много параметров? ...

Как грамотно передать данные из бд в таблицу?
всем привет, вот у меня есть таблица 10*10, в ней получается сто инпутов для данных, это нужно в бд...

5
Эксперт .NETАвтор FAQ
10409 / 5139 / 1824
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
25.01.2016, 19:24 2
Цитата Сообщение от Чистый лист Посмотреть сообщение
Мне ОЧЕНЬ ИНТЕРЕСНО как грамотно передать данные из БД на форму и обратно. Так как приложение будет усложняться решил использовать паттерн mvc.
Как и куда вы читаете данные из БД? У вас есть DataTable или вы используете типизированные классы данных?
Также, каков предполагаемый объем данных(интересует порядок)?
0
6 / 6 / 1
Регистрация: 20.02.2015
Сообщений: 114
25.01.2016, 20:19  [ТС] 3
Storm23, DataTable. У меня на форме вообще DataGridView которая будет только отображать данные соответствующие строке поиска, реализованной отдельным комбобоксом. Ввод данных через отдельную форму с кучей комбобоксов и прочих компонентов.
Цитата Сообщение от Storm23 Посмотреть сообщение
каков предполагаемый объем данных(интересует порядок)?
Тут я не совсем понял. Пока что база из 14-и таблиц.
0
Эксперт .NETАвтор FAQ
10409 / 5139 / 1824
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
25.01.2016, 22:27 4
Лучший ответ Сообщение было отмечено Чистый лист как решение

Решение

Цитата Сообщение от Чистый лист Посмотреть сообщение
Просто сделать функцию public void SetPerson(string lastName, string firstName...) в классе, предположим, DBManager и передавать туда свойства интерфейса IVeiw. Ну типа в контроллере вызвать model.DBManager.SetPerson(view.LastName, viewFirstName...)
Да, именно так и делать. А что смущает? Что там куча параметров? Ну так у вас и на форме столько же контролов будет, и в БД столько же колонок будет. И изменение сигнатуры метода SetPerson будет не самым трудоемким изменением. Ну можете сделать DTO объект для передачи всей совокупности параметров, или Dictionary<string, object>. Или DynamicObject. Но это все технические правки, а в принципе - да нужно передавать все параметры в SetPerson.

Цитата Сообщение от Чистый лист Посмотреть сообщение
что бы разобраться раз и навсегда
Проблема в том, что нет единой "однозначно правильной" реализации MVC, MVP, и т.д. паттернов. Все очень сильно зависит от многих параметров - от ТЗ, от платформы, от числа разработчиков, от требований к масштабируемости системы и т.д.
Кроме того, MVC в классическом виде - очень плохо ложится на WinForms в принципе. Я бы на вашем месте вообще не использовал ни MVC, ни MVP. Я бы объеденил представление и презентер в одно целое и оформил бы в виде UserControl, который бы работал с моделью. Я так обычно и делаю.
1
6 / 6 / 1
Регистрация: 20.02.2015
Сообщений: 114
25.01.2016, 22:50  [ТС] 5
Storm23, спасибо Вам огромное за ответ, столько сомнений исчезло... Быль бы очень благодарен если бы Вы дали ссылку на несложный проект с хорошо оформленным UserControlом. Не хочется со старта писать то, что потом сам не разберешь. И вообще хотелось бы посоветоваться (не знаю в какую ветку написать) с выбором инструмента для проекта - возможно winforms не лучший вариант.
0
Эксперт .NETАвтор FAQ
10409 / 5139 / 1824
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
26.01.2016, 00:51 6
Цитата Сообщение от Чистый лист Посмотреть сообщение
Быль бы очень благодарен если бы Вы дали ссылку на несложный проект с хорошо оформленным UserControlом
Для начала можете посмотреть здесь Архитектура ПО в WinForms (FAQ & HowTo)
Там есть много простых проектов в примерах, в том числе с UserControl.
Цитата Сообщение от Чистый лист Посмотреть сообщение
И вообще хотелось бы посоветоваться (не знаю в какую ветку написать) с выбором инструмента для проекта - возможно winforms не лучший вариант.
Создайте новую тему, сформулируйте вашу задачу, спросите про выбор платформы.
1
26.01.2016, 00:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2016, 00:51
Помогаю со студенческими работами здесь

Как грамотно передать данные из строкового массива в целочисленный?
Здравствуйте. Подмогите, если не сложно:- static void Main(string args) { ...

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

Как правильно передать несколько разнородных данных из одной формы в другую?
На форме MainForm много элементов управления (установка цвета, комбобоксы, numUpDown и другие),...

Как реализовать Биномиальную кучу и Фибоначчиеву кучу?
Например с помощью массива или может структуры , класс? Очень буду рад наглядному простому...

ASP MVC 2 - model
Как мне поновлять модель - есди я поновляю таблици в БД? модель остается стараю почемуто.

Форма ввода в model (MVC)
Здравствуйте! Я использую MVC и работаю с api одной компании. Есть форма input с выбором даты и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru