Цитата(6atoh @ 21.4.2007, 07:45 ) | Неужели такую функцию трудно самому написать |
Нет, не трудно, но не люблю изобретать велосипед, такие рутинные функции по идее должны быть реализованы, во всяком случае все языки с которыми я работал такую функцию имели.
Цитата(Exception @ 21.4.2007, 08:04 ) | Vit, извини за нудность, но ты точно уверен, что без использования чистого SQL не обойтись? В среде дотнетчиков не слишком-то принято им пользоваться. |
Простейшая задача:
Допустим есть база данных: - клиенты, заказы, и т.п.
Требуется сделать экспорт данных из таблиц в соотвествии с условиями, заданными клиентом. Заранее структура данных выходных и критерии выбора не известны. Интерфейс предоставляемый программой есть по сути есть Query Builder и позволяет клиенту в визуальной форме делать любые join и/или Union по любым полям любых доступных ему таблиц, назначать условия выбора, сортировки и группировки по любым полям, в том числе и с применением выражений, наприемер пользователь может сказать что надо отобрать только тех пользователей у которых последние пять цифр номера лицензии делятся без остатка на 7 (внутреняя контрольная сумма) и т.п. Задача почти не формализуема, так как количество вариантов которые можно придумать исчисляется факториалом нескольких сотен...
Я такую задачу реализовывал на T-SQL, это довольно трудоёмкая но возможная работа, пришлось писать хранимки по десятку тысяч строк, в общем-то в основном из-за неприспособленности T-SQL для обычного програмирования. На языках общего назначения типа C, Дельфи и т.п. эти вещи реализуются значительно проще.
А по поводу принято или нет - у меня за спиной почти 2 десятка лет опыта програмирования, и то что я пока не знаю .net - это не означает что я не знаю чего я хочу добиться и не представляю как этого можно добиться. Кроме того я не вижу таких принципиальных отличий .net от Win32 платформы которые бы указывали на то что с переходом на .net создание динамического SQL стало бы неактуальным или ненужным...
|