|
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 14
|
||||||
Сильно раздутый switch case25.01.2013, 13:06. Показов 1481. Ответов 12
Метки нет (Все метки)
Ломаю голову над одной простой задачей. Как красивее и производительнее закодировать тип данных. Есть БД на sql server. В ней несколько таблиц. Таблица1 состоит из "Столбец1, smallint", "Столбец2, nvarchar(10)", "Столбец3, nvarchar(10)", "Столбец4, nvarchar(20)", "Столбец5, nvarchar(3)", "Столбец6, nvarchar(3)", "Столбец7, int", "Столбец8, tinyint". Столбец1 должен содержать закодированное мной уникальное значение для каждого из вариантов значений остальных столбцов. Всего получается порядка 500 строк. В Таблице2 будут находиться текстовые данные и соответствующий им тип из Стоблца 1, Таблицы 1 как внешний ключ.
Программа работает с БД следующим образом. Получает текстовый файл от другой программы -> Парсит из текста информацию соответствующую Таблице1 -> Определяет тип данных (вот здесь и думаю как реализовать) -> Вставляет текстовый файл в Таблицу2. Вижу 2 варианта: 1. Перебрать все возможные варианты через switch case:
2. Закодировать все варианты в Таблица1 в sql server и запрашивать через SELECT во время определения типа данных. Получается будет лишняя нагрузка на БД запросами т.к. данные будут приходить часто и в большом количестве. Лишних запросов будет много. Как лучше сделать?
0
|
||||||
| 25.01.2013, 13:06 | |
|
Ответы с готовыми решениями:
12
Switch case 'Ш'
|
|
24 / 24 / 11
Регистрация: 28.12.2010
Сообщений: 142
|
||||||
| 27.01.2013, 08:53 | ||||||
|
Сложно представить....
Попробуйте использовать Dictionary - словарь. Ключом является название типа, а значением - сам тип.
1
|
||||||
|
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 14
|
|
| 28.01.2013, 20:18 [ТС] | |
|
Походу я слишком непонятно написал... Попробую проще.
Допустим есть обьект: строка. Она может быть примерно такого содержания: "У Васи Голубые глаза, кудрявые волосы и низкий голос". Из этой строки я беру данные: Цвет глаза - голубые, Тембр голоса - высокий, Волосы - Кудрявые. Соответственно будет таблица с тремя колонками. И я хочу закодировать все варианты в этой таблице. Что-то вроде этого (пример надумал только что): 0 Голубой - Высокий - Кудрявые 1 Голубой - Высокий - Короткие прямые ...... 205 Оранжевый - Маленький - Лысый Вот а как реализовать еще думаю. Думаю вот через битовые операции. Глазам отвести младшие 3 разряда, Рост - следующие 2 разряда, Волосы - следующие 2-3 разряда. Потом это все просуммировать и получим АйДи...
0
|
|
|
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 14
|
|
| 29.01.2013, 17:44 [ТС] | |
|
А чем мой вариант отличается? Не понял... Одним разрядом не обойтись, для каждой характеристики будет 4-9 вариантов значений.
0
|
|
|
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 14
|
|
| 30.01.2013, 12:02 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 14
|
|||||||
| 30.01.2013, 12:29 [ТС] | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 04.02.2012
Сообщений: 14
|
|
| 30.01.2013, 14:36 [ТС] | |
|
А как это делается? Можно пример?
0
|
|
|
Master of Orion
|
|
| 30.01.2013, 15:03 | |
|
maxgold, посмотрите в книжке Нейгела про регулярки, там это описано. Книжку переписывать сюда долго будет. Там глава на 20 страничек, потратьте полчаса
1
|
|
| 30.01.2013, 15:03 | |
|
Помогаю со студенческими работами здесь
13
Оператора switch / case Избавится от switch case Проблема со switch case Switch Case на байтах Оператор switch-case Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|