![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
![]()
Чем платить?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
сложностью разработки (вместо того, чтобы написать select id, name from MyTable будете мутить процедуры с параметрами, разбором полей и т.д. и т.п.), убогим (читай = "универсальным") интерфейсом, потерей производительности и т.д. и т.п.
А самое обидное, что в процессе эксплуатации (ВДРУГ ![]() А потом (опять ВДРУГ ![]() Жизнь очень гибкая штука и её крайне трудно засунуть в рамки (не упрощая и ничего не ломая при подгонке). А статью то прочитали про exec и его особенности? |
![]() |
![]() |
![]() |
#13 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
![]() Цитата:
![]() Так видишь, я могу сделать запрос, в него подставлять какие поля нужны. Мне нужно что: мне нужно, передав имя таблицы получить из нее данные, чтобы их можно было редактировать потом. Заранее имя таблицы неизвестно. Предполагал, что поля таблицы будут передаваться в том же запросе в ХП, т.е., например (словесно) так: Код:
![]()
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
![]() |
![]() |
![]() |
#14 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
я не возражаю! ![]() вот, я про это и говорил, обычно редакторы, где все поля редактируются без относительно их назначения (универсально) и выглядят убого (одинаково). я не однократно сталкивался с подобными системами. Впрочем, это же моё личное мнение. И дьявол, как всегда, в деталях. В каком-то случае подобная универсальность вполне допустима и оправдана, в каком-то, наоборот, не оправдана. Вам там на месте виднее, как лучше. Да и жизнь/практика обычно всё расставляет по своим местам. В любом случае, желаю успехов в проектировании и разработке! |
|
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Согласен с Сергеем, подобная универсальность при развитии системы к добру не приведет. Да и дбнавигатор слишком как-то по школьному ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
![]()
Ну хорошо.
Может быть я и откажусь от этой идеи потом. Но: как можно тогда управлять какие поля будут выбираться и доступны пользователю, а какие нет? можно ли на уровне сервера управлять доступом к конкретным ХП пользователям? Чтобы я мог указывать какие таблицы могут быть доступны пользователю, с каким и полями. Или делать все это через Select в ХП, перечисляя, и, потом просто администрируя, меняя этот перечень в уже ХП на сервере? Я думал так сделать изначально кстати. В качестве админки у меня MS SQL Managment Studio. Иными словами, можно ли делать такое: Код:
Если "да", то меня это устроит!
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
Последний раз редактировалось artemavd; 13.06.2017 в 18:31. |
![]() |
![]() |
![]() |
#17 | ||
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]() Цитата:
Цитата:
1. 5 ХП для 5 разных таблиц, возвращающие данные (с джойнами ещё на 3 таблицы каждая, кстати); 2. 1 ХП, в которую в качестве параметра передавался @Mode (Режим), который и определял, какую из ХП запускать. 3. ХП возвращала полный набор полей, а доступ к ним из программы рулился в коде. Не самая изящная реализация, да и в сопровождении сложная: добавилось в одну таблицу поле - 6 хранимок упало на тестах (в лучшем случае - на тестах, в худшем - на продуктиве). Просто потому что забыли это поле в них описать. По моему, чтобы получить описание структуры БД или части БД (в том числе список полей конкретной таблицы), нужно обращаться к dbo.sysobjects? Как-то так: Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось artemavd; 14.06.2017 в 04:09. |
||
![]() |
![]() |
![]() |
#18 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
![]() Цитата:
То есть я создаю таблицу. Субадмин (с гораздо менее доступными правами) через свою программу, без доступа в панель управления сервером, просто перечисляет поля созданной мной таблицы. То, что он перечислил - должно грузиться в клиентское приложение другого пользователя. На самом деле реализация проста, просто затык возник в том, как передать в SELECT в хранимой процедуре как параметр список разрешенных субадмином полей. Конечно, чтобы потом другой конечный пользователь, загрузив эти поля, мог работать как с обычным датасетом через DBNavigator, например. Не спрашивайте зачем такая реализация, просто надо так ![]() Sciv, я так понимаю, что твой код это пример из проекта? А зачем там INNER используется?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Нет, это пример из интернета. А иннером джойнится таблица типов полей.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
![]()
А что это значит тогда?
Код:
Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача параметров в хранимой процедуре | Maxjuvefan | БД в Delphi | 7 | 17.09.2015 14:09 |
Как зделать запрос в хранимой процедуре | xatabich | БД в Delphi | 8 | 08.12.2014 08:08 |
Имена переменных в хранимой процедуре | Muramidaza | БД в Delphi | 0 | 17.03.2014 22:44 |
Insert or Update в хранимой процедуре | Dozent | SQL, базы данных | 4 | 15.10.2013 03:17 |
как отключить соединения с БД в хранимой процедуре | Neymexa | SQL, базы данных | 0 | 06.04.2010 11:44 |