powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сложная форма
16 сообщений из 41, страница 2 из 2
Сложная форма
    #38024326
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С точки зрения простоты - конечно проще на самой старичке писать нужный select/insert/update/delete, НО если честно я не до конца смог разобраться как ограничивать права пользователей на разные таблицы (на уровне столбцов и строк). Более менее понятно, когда таблиц мало и связок между таблицами мало, а вот когда их много, то возникает куча вопросов. С точки зрении использования процедур - я создаю одну процедуру на N действий с основной таблицей и/или связанной таблицей. В начале тела процедуры проверяю права пользователя на select/insert/update/delete. Я не утверждаю, что это самая правильная схема, но пока та, что мне понятна.

Если кто-то может на простом и понятном примере объяснить как организовать разграничение доступа на таблицы на уровне столбцов и строк, то буду очень благодарен.
...
Рейтинг: 0 / 0
Сложная форма
    #38024332
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степиskyANA,
ну если они связаны, почему он применяет "несколько select-ов." а не мои любимые джойны?

на форму нужно грузить данные для акции из трех страниц и редактировать данные в трех таблица

таблицы для примера
aktsia
id int IDENTITY(1,1) NOT NULL
name nvarchar(50) NOT NULL
data_starta date
datat_zavershenia date

aktsia_magazini
id int IDENTITY(1,1) NOT NULL
aktsia_id INT
magazin_id INT

aktsia_yslovia
id int IDENTITY(1,1) OT NULL
aktsia_id INT
kolichestvo_prodaj_za_mesiats INT
bonus INT


Я планирую пройти курсы по MVC, но скорее всего это будет не раньше начала следующего года, а пока использую накопленные знания и опыт. Не всегда бывает время на нормальное самообучение. Поэтому и вынужден обращаться за советами к специалистам.

Что касается stored procedures и orm - есть куча споров на этот счет и каждая из сторон видит свои плюсы в выбранном подходе.

http://www.developmentalmadness.com/archive/2009/06/23/data-access-stored-procedures-vs-orm-ad.aspx
...
Рейтинг: 0 / 0
Сложная форма
    #38024871
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1С точки зрения простоты - конечно проще на самой старичке писать нужный select/insert/update/delete, НО если честно я не до конца смог разобраться как ограничивать права пользователей на разные таблицы (на уровне столбцов и строк). Более менее понятно, когда таблиц мало и связок между таблицами мало, а вот когда их много, то возникает куча вопросов. С точки зрении использования процедур - я создаю одну процедуру на N действий с основной таблицей и/или связанной таблицей. В начале тела процедуры проверяю права пользователя на select/insert/update/delete. Я не утверждаю, что это самая правильная схема, но пока та, что мне понятна.

Если кто-то может на простом и понятном примере объяснить как организовать разграничение доступа на таблицы на уровне столбцов и строк, то буду очень благодарен.Хм... А покажите кусок кода хранимой процедуры, что у Вас проверяет права пользователя на select/insert/update/delete, на уровне столбцов и строк.

P.S.: ссылку про NextResult посмотрели?
...
Рейтинг: 0 / 0
Сложная форма
    #38024905
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANATestor1С точки зрения простоты - конечно проще на самой старичке писать нужный select/insert/update/delete, НО если честно я не до конца смог разобраться как ограничивать права пользователей на разные таблицы (на уровне столбцов и строк). Более менее понятно, когда таблиц мало и связок между таблицами мало, а вот когда их много, то возникает куча вопросов. С точки зрении использования процедур - я создаю одну процедуру на N действий с основной таблицей и/или связанной таблицей. В начале тела процедуры проверяю права пользователя на select/insert/update/delete. Я не утверждаю, что это самая правильная схема, но пока та, что мне понятна.

Если кто-то может на простом и понятном примере объяснить как организовать разграничение доступа на таблицы на уровне столбцов и строк, то буду очень благодарен.Хм... А покажите кусок кода хранимой процедуры, что у Вас проверяет права пользователя на select/insert/update/delete, на уровне столбцов и строк.

P.S.: ссылку про NextResult посмотрели?

Пока не смотрел, но посмотрю. Скоро буду реализовывать эту часть. Знаю, что возможно получение результатов от нескольких запросов.

Куска на данный момент нет, скоро начну делать. Но уже понятно, что схема получиться сложной :( Приходиться изобретать велосипед, а не хочется :(. Время на проект ограниченно.
...
Рейтинг: 0 / 0
Сложная форма
    #38025375
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Testor1skyANAпропущено...
Хм... А покажите кусок кода хранимой процедуры, что у Вас проверяет права пользователя на select/insert/update/delete, на уровне столбцов и строк.

P.S.: ссылку про NextResult посмотрели?

Пока не смотрел, но посмотрю. Скоро буду реализовывать эту часть. Знаю, что возможно получение результатов от нескольких запросов.

Куска на данный момент нет, скоро начну делать. Но уже понятно, что схема получиться сложной :( Приходиться изобретать велосипед, а не хочется :(. Время на проект ограниченно.

Ограничение на уровне строк - не абсолютно на все таблицы.
К примеру определенным группам пользователей разрешить/запретить доступ на просмотр/редактирование данных для региона/города/района и т.д.
...
Рейтинг: 0 / 0
Сложная форма
    #38028796
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANATestor1, но если хочется именно через хп и несколько select-ов, то читай про извлечение нескольких результирующих наборов при помощи NextResult тут .

Реализовал, но столкнулся с проблемой.

В процедуре три селекта select1, select2, select3.

NextResult - возвращает результаты запросов не в той последовательности в которой вызываются селекты. Почему? и как определить какой селект сработал?
...
Рейтинг: 0 / 0
Сложная форма
    #38028818
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1skyANATestor1, но если хочется именно через хп и несколько select-ов, то читай про извлечение нескольких результирующих наборов при помощи NextResult тут .

Реализовал, но столкнулся с проблемой.

В процедуре три селекта select1, select2, select3.

NextResult - возвращает результаты запросов не в той последовательности в которой вызываются селекты. Почему? и как определить какой селект сработал?Что значит не в той? А в какой? :)
...
Рейтинг: 0 / 0
Сложная форма
    #38028820
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1, код покажите.
...
Рейтинг: 0 / 0
Сложная форма
    #38029626
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANATestor1, код покажите.

Сорри был занят. Старый код удалил.

Напишу что делал. Сейчас же временно вызываю три процедуры. Нужно было срочно запустить функционал страницы :(

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
reader = slqCmd.ExecuteReader();

DataTable dtTable1 = new DataTable();
dtTable1.Load(reader); 
reader.NextResult

DataTable dtTable2 = new DataTable();
dtTable2.Load(reader); 
reader.NextResult

DataTable dtTable3 = new DataTable();
dtTable3.Load(reader); 
reader.NextResult





Код: sql
1.
2.
3.
SELECT * FROM table1;
SELECT * FROM table2;
SELECT * FROM table3;



В dtTable1 - попадали данные из table1.
В dtTable2 - попадали данные из table3.
В dtTable3 - попадали данные из table2.

Структура таблиц разная. С помощью Debugger-а отследил, что данные в DataTable загружаются не в той последовательности в которой объявлены селекты.
...
Рейтинг: 0 / 0
Сложная форма
    #38029973
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataTable.Load Method (IDataReader)
Remarks
The Load method consumes the first result set from the loaded IDataReader, and after successful completion, sets the reader's position to the next result set, if any .
...
Рейтинг: 0 / 0
Сложная форма
    #38029989
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, может Вам заполнять DataSet из адаптера данных DataAdapter , раз уж Вы пользуетесь DataTable? :)
Несколько результирующих наборов
Если объект DataAdapter обнаруживает несколько результирующих наборов, то создает несколько таблиц в DataSet . Таблицы получают добавочное имя по умолчанию TableN, для Table0 начинающееся с «Table». Если имя таблицы передается в качестве аргумента методу Fill , то таблицы получают по умолчанию имя TableNameN с последовательно увеличивающимся суффиксом, но начиная с «TableName», а не с TableName0.
...
Рейтинг: 0 / 0
Сложная форма
    #38030004
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

Уже код адаптировал на DataSet.
Тесты с несколькими селектами проведу в пятницу. Сейчас запарка.

Спасибо за поддержку.
...
Рейтинг: 0 / 0
Сложная форма
    #38037075
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Testor1,

Почти все реализовал через dataset + tvp.
Всем спасибо
...
Рейтинг: 0 / 0
Сложная форма
    #38040439
Enomay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Testor1Где-то в степизачем тут процедура?..., две не связанные сущности, магазины и правила начисления, это все можно вытащить двумя запросами к двум таблицам ( магазины, и правила начисления)

из-за безопасности и производительности
все выборки и запросы на изменения делаю через процедуры

жуть какая :)
...
Рейтинг: 0 / 0
Сложная форма
    #38040947
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EnomayTestor1пропущено...


из-за безопасности и производительности
все выборки и запросы на изменения делаю через процедуры

жуть какая :)

Ждем курсов MVC3 :)
...
Рейтинг: 0 / 0
Сложная форма
    #38041552
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Ждем курсов MVC3 :)
Почему не MVC 4?
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сложная форма
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]