Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651

Реализация различных подключений к БД

02.12.2019, 18:22. Показов 866. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Программа работает с различными СУБД. Как реализовать это? Писать отдельный метод для каждоый СУБД или собрать все в одном методе и выбирать по switch - далеко не самый лучший вариант. Нужно учесть и возможность дальнейшего добавления новых типов. Думал об интерфейсах, но ни к чему хорошему не пришел. Так как же лучше решить данную проблему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2019, 18:22
Ответы с готовыми решениями:

Реализация различных видов сортировок
написать программу, которая реализует следующие виды сортировки: сортировка вставками, пузырьковая, Шелла, пирамедальная, слиянием и...

Реализация различных версий программы по условию
Такой вопрос. Мне нужно делать две версии программы. Одна должна выдавать mesagebox "Я другой страны такой не знаю", и...

Реализация различных интерфейсов GUI в зависимости от прав пользователя
Поделитесь опытом камарады, может кто делал такую штуку?

7
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
02.12.2019, 18:24
Используйте Entity Framework - там можно просто указывать строку подключения. Можно хоть динамически это организовать.
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
02.12.2019, 18:24  [ТС]
freeba, не указал: реализуется все именно ручками. Поэтому и встал такой вопрос)
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
02.12.2019, 18:29
как вариант:
интерфейс с описанием необходимых методов + отдельные классы реализации под разные субд.
объект какого класса создавать - в зависимости от БД
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
02.12.2019, 18:33
Цитата Сообщение от Zwelenewskiy Посмотреть сообщение
не указал: реализуется все именно ручками.
Таки сами себе злобный буратино.
0
 Аватар для Zwelenewskiy
129 / 127 / 107
Регистрация: 09.01.2017
Сообщений: 1,651
02.12.2019, 19:09  [ТС]
freeba, в продакшене, конечно же, чаще всего лучше ORM, но в данном случае программа учебная, поэтому именно так

Добавлено через 34 минуты
valera_21, если так, то для обращения к созданным классам все равно нужна прослойка. Например, отдлельный метод-коллектор. Снова подобие мусорки
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
03.12.2019, 12:06
Zwelenewskiy, в смысле метод-коллектор?
0
Эксперт .NET
 Аватар для Usaga
14321 / 9411 / 1356
Регистрация: 21.01.2016
Сообщений: 35,481
03.12.2019, 12:19
Zwelenewskiy, текст запросов к СУБД будет почти наверняка свой собственный. Но интерфейсы уже можно переиспользовать общие - в ADO.NET все классы реализуют набор интерфейсов, которые переопределяются провайдером каждой отдельной СУБД.

От вас фабрика, которая будет возвращать нужные реализации этих классов (SqlConnection, MySQLConnection, NpgConnection, FbConnection, OracleConnection и все остальные), а так же фабрика, что будет возвращать текст запроса под каждый диалект.

Работа геморрная и объёмная.

Добавлено через 51 секунду
Да, в .NET поддерживается из коробки только SQL Server, для остальных СУБД придётся ставить NuGet-пакеты нужных провайдеров.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2019, 12:19
Помогаю со студенческими работами здесь

Реализация утильных классов для решения различных задач. (Посоветуйте пожалуйста!)
Добрый день, Уважаемые коллеги, товарищи, и просто мимо проходящие пользователи. Прошу дать совет, по разработке утильных классов к...

Способы распределение a различных бананов, b различных яблок и c различных груш
Влад хочет взять с собой для ланча пару фруктов. У него есть a различных бананов, b различных яблок и c различных груш. Сколькими способами...

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

Сколько существует различных деревьев поиска, состоящих из N различных элементов?
дерево поиска — это двоичное дерево, для любой вершины которого выполняется следующее условие: все числа, записанные в вершинах левого ...

Сколькими способами можно разместить n различных открыток в m различных конвертов
Здравствуйте.Проверьте пожалуйста два задания по дискретной математике: 1.Сколько натуральных чисел от 1 до 10000 не делится ни на a , ни...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru