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

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

14.08.2019, 13:53. Показов 1224. Ответов 10

Студворк — интернет-сервис помощи студентам
Задача в загрузка данных из dbf и txt в базу на MS SQL последующая обработка и выдача результата. Пользователя два, один настраивает правила обработки загруженных данных, загружает данные и обрабатывает ошибки при загрузке, если они есть. Второй смотрит результаты. Ну и желательно переключение между рабочей и тестовой базой для проверки нововведений.
Лет 15 не работал с Visual C#. В загугленных обучалках разнообразие, кто лезет напрямую через SQLReader, где то старые добрые наборы данных, где то Entity Framework. И по архитектурам полное разнообразие, где отдельная дллка в которой закопана работа с базой, где советуют widows forms не трогать, а работать через приложение размещенное на web-сервере, а клиенты пусть через браузер ходят. Только запутался по результатам.
Чем пользоваться чтобы писать поменьше кода на C#(SQL не смущает, с ним все получше)?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.08.2019, 13:53
Ответы с готовыми решениями:

Какие инструменты можно использовать для организации работы пользователя с кучей?
В универе дали следующее задание: Организовать в программе работу с пользовательской кучей. В программе должны быть реализованы...

Приложение для работы с базой данных
Всем доброго времени суток!!! У меня есть приложение для работы с БД SQL Server. Оно будет работать на другой машине, если не...

Приложение для работы с базой данных
У меня есть приложение суть такая есть база данных в ней таблица, в приложении присутствуют фильтры по столбцам "data" и...

10
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
14.08.2019, 13:57
..не хотите C# - загрузку данных можно организовать хоть на VBS/PowerShell ... вы бы определились по ТЗ, пользователю как удобнее, приложение локальное или в браузере, а потом уж и решения ищите ...
0
0 / 0 / 2
Регистрация: 30.07.2016
Сообщений: 18
14.08.2019, 14:07  [ТС]
Пользователи предпочли чтобы внешне ничего не менялось, т.е. локальное приложение с гридом во всю морду и парой кнопок. Тут больше вопрос как мне данные для грида ловчее подсовывать. Наборы данных которые генерирует визуалка при создании источника данных проекта стоит использовать или это фу-фу устарело, так никто не делает? Еще помню там достаточно неудобно было к данным отдельно взятой строки обращаться.
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
14.08.2019, 14:18
... я бы посоветовал делать, как вы умеете, потому что изучение новых веяний с попытками создать HelloWorld через Entity Framework может занять изрядную долю времени ... с MS SQL работают все возможные подходы, ADO.net, OLEDB и т.д. ...
1
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,307
14.08.2019, 14:35
Котовод, слишком общий вопрос для конкретного совета.

Если структура входных данных заранее известна, как и структура целевой базы, то рекомендую описывать схемы данных классами и всякие DataSet'ы не трогать. Это будет строже и удобнее. Как ORM можно использовать как micro-ORM (Dapper.NET), так и более продвинутые вещи типа Linq2Db или Entity Framework.

DataGridView умеет работать с вашими кастомными коллекциями кастомных же классов. Т.е. вы можете отталкиваться от полной типизации и описания схем данных в вашем коде.

Советую взять старый добрый Windows Forms и не греть голову вебами и WPF'ами. Делайте как вам проще.
1
0 / 0 / 2
Регистрация: 30.07.2016
Сообщений: 18
14.08.2019, 14:51  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Если структура входных данных заранее известна, как и структура целевой базы
Известна.
Цитата Сообщение от Usaga Посмотреть сообщение
то рекомендую описывать схемы данных классами и всякие DataSet'ы не трогать
А какие преимущества я получу отказавшись от датасетов и перейдя к своим классам?
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,307
14.08.2019, 14:53
Котовод, полную типизацию и отражение схемы данных в виде классов. Вы будете видеть какие у вас есть таблицы (один класс - одна таблица), вы будете видеть какие в них есть колонки (свойства в таблице), вы будете видеть типы этих колонок. Ошибки и очепятка сводятся к минимуму. Если поверх этого добавить ORM типа Linq2Db или Entity Framework, которые за вас ещё и запросы генерировать будут, то вообще замечательно станет.
1
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
14.08.2019, 22:30
Цитата Сообщение от Usaga Посмотреть сообщение
полную типизацию и отражение схемы данных в виде классов. Вы будете видеть какие у вас есть таблицы (один класс - одна таблица), вы будете видеть какие в них есть колонки (свойства в таблице), вы будете видеть типы этих колонок. Ошибки и очепятка сводятся к минимуму.
ну тут и DS можно такой же накидать по быренькому в конструкторе и всё видеть
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,307
15.08.2019, 03:54
XIST, можно, работать с этим будет не так удобно. Ладно, там студия кода нагенерирует, бог с ним, глаза не режет. Но вот постоянно писать такое:

C#
1
if (!row.IsSomeColumnNull() && row.SomeColumn == someThing)
... как-то вымораживало. DataSet'ы умеют в произвольную структуру, что есть гуд, плюс бесплатная поддержка состояния (added, deleted, modified) тоже иногда может быть полезна. Но в моей практике эти вещи пригождались не часто. А вот избыточный код для обращения к свойствам писать приходилось постоянно. Такое себе.
1
0 / 0 / 2
Регистрация: 30.07.2016
Сообщений: 18
15.08.2019, 18:01  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
А вот избыточный код для обращения к свойствам
Мне еще обращение, например к выбранной записи казались крайне не логичными. Другой вопрос. Если у меня по результату действия получается табличка на тысячу записей, через массив структур передавать не сильно накладно? Тот же фокс при просмотре в гриде умел в асинхронную выборку без писания кода.
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,307
16.08.2019, 05:36
Котовод, тысячи может быть многовато. Лучше бы вам прикрутить постраничный вывод данных или, на крайний случай, воспользоваться виртуализацией.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.08.2019, 05:36
Помогаю со студенческими работами здесь

Какие нужны классы для работы с базой данных?
Здравствуйте! Возникла задача сделать базу данных используя библиотеку Qt. Для этого была выбрана СУБД MySQL. Базу данных успешно...

Приложение для работы с базой данных
Здравствуйте. Надо было с ноля спроектировать и создать базу данных, затем заполнить данными. Данные заполнял в Маикрософт ЭСКУЭЛЬ...

Оконное приложение для работы с базой данных MS Access
Всех приветствую. Подскажите, на каком языке программирования(или среде разработки ПО) проще и лучше реализовать приложение для...

Какие инструменты использовать для построения жд станции для web
Здравствуйте. Мне по работе нужно сделать схему железнодорожной станции для браузера. Интерактив не нужен, нужно просто красиво всё...

Дайте совет, какие инструменты лучше использовать для разбора ноута
Ноут старый при работе и загрузке на 70 процентов, очень часто происходят перегрев , хочу почистить от пыли и поменять термопасту. ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru