powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Параметры ХП
25 сообщений из 40, страница 1 из 2
Параметры ХП
    #35878768
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть следующая проца
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE PROCEDURE [dbo].[EditGroup]
	-- Add the parameters for the stored procedure here
	@IdGroup		int,
	@CaptionGroup	nvarchar(50),
	@DescribeGroup	nvarchar(max)

AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
UPDATE [GMSDatabase].[dbo].[Groups]
   SET [CaptionGroup] = @CaptionGroup
      ,[DescribeGroup] = @DescribeGroup
 WHERE [IdGroup] = @IdGroup
END

Вызываю ее следующей командой:
Код: plaintext
1.
[EditGroup] 1,'qwer','qwer'

Как мне узнать, что
@IdGroup = 1
@CaptionGroup = 'qwer'
@DescribeGroup = 'qwer'

Спасибо.
...
Рейтинг: 0 / 0
Параметры ХП
    #35878784
vagner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где узнать?
...
Рейтинг: 0 / 0
Параметры ХП
    #35878806
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хороший вопрос.

Есть функция
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
            public virtual DataSet ReturnDataSetDB(String connectionString, String Statement)
            {
                SqlDataAdapter da = new SqlDataAdapter(Statement, connectionString);
                DataSet ds = new DataSet();
                da.Fill(ds, "table");

                return ds;
            }

при вызове
Код: plaintext
1.
ReturnDataSetDB(connectionString, "[EditGroup] 1,'qwer','qwer'");

Хочется дописать функцию, чтобы она еще и проверяла разрешена ли запуск данной процы с данными значениями параметров. А для етого надо знать с какими параметрами хочет функция запуститься.
...
Рейтинг: 0 / 0
Параметры ХП
    #35878812
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KommunarХороший вопрос.
Код: plaintext
1.
ReturnDataSetDB(connectionString, "[EditGroup] 1,'qwer','qwer'");

Хочется дописать функцию, чтобы она еще и проверяла разрешена ли запуск данной процы с данными значениями параметров. А для етого надо знать с какими параметрами хочет функция запуститься.
Ужасный код.
...
Рейтинг: 0 / 0
Параметры ХП
    #35878825
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что так?
...
Рейтинг: 0 / 0
Параметры ХП
    #35878827
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем эти DataAdapters придумали, чтобы люди сразу возвращали DataSet что ли ?
...
Рейтинг: 0 / 0
Параметры ХП
    #35878829
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробегитесь поиском по ветке. Там точно есть.
...
Рейтинг: 0 / 0
Параметры ХП
    #35878849
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то не нашел, со вчера бегаю.
...
Рейтинг: 0 / 0
Параметры ХП
    #35878919
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут мож че есть
Код: plaintext
Parameters
...
Рейтинг: 0 / 0
Параметры ХП
    #35878924
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что я вас не понимаю совсем, ваша функция - ReturnDataSetDB - по названия и коду грузит набор данных в датасет, но вы в качестве источника выбирающего данные с сервера подсовываете процедуру на UPDATE с set nocount 0 - она ничего не вернет, и код действительно ужасный так не делается переделайте по нормальному и проверяйте значения параметров хран процедуры
...
Рейтинг: 0 / 0
Параметры ХП
    #35878931
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял вопроса, если честно, мож в ДБ это сделай.

Плюсов несколько:
1. Работает быстрее
2. Проверка прав на уровне процедуры. Уже никто просто так процедуру не запустит
3. Если будут изменения, версию перекомпиливать не нужно. На целевой машине сделаешь Альтер процедуре.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE PROCEDURE [dbo].[EditGroup]
	-- Add the parameters for the stored procedure here
	@IdGroup		int,
	@CaptionGroup	nvarchar(50),
	@DescribeGroup	nvarchar(max)

AS
BEGIN


IF (@CaptionGroup = 'qwer' OR @DescribeGroup = 'qwer')
BEGIN
   RAISERROR('Wrong parameters.', 16, 1)
END

	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
UPDATE [GMSDatabase].[dbo].[Groups]
   SET [CaptionGroup] = @CaptionGroup
      ,[DescribeGroup] = @DescribeGroup
 WHERE [IdGroup] = @IdGroup
END


...
Рейтинг: 0 / 0
Параметры ХП
    #35878939
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мля... Тут кажись никто не понял вопроса, но кто чем поделился
...
Рейтинг: 0 / 0
Параметры ХП
    #35878947
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:))
...
Рейтинг: 0 / 0
Параметры ХП
    #35879024
Фотография unq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kommunar
[src SQL]
CREATE PROCEDURE [dbo].[EditGroup]
-- Add the parameters for the stored procedure here
@IdGroup int,
@CaptionGroup nvarchar(50),
@DescribeGroup nvarchar(max)


А откуда ваша ХП берет эти переменные?

KommunarВызываю ее следующей командой:
[EditGroup] 1,'qwer','qwer'

Откуда вызываете?
...
Рейтинг: 0 / 0
Параметры ХП
    #35879089
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks-samМля... Тут кажись никто не понял вопроса, но кто чем поделился

Это да
...
Рейтинг: 0 / 0
Параметры ХП
    #35879098
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unqKommunar
[src SQL]
CREATE PROCEDURE [dbo].[EditGroup]
-- Add the parameters for the stored procedure here
@IdGroup int,
@CaptionGroup nvarchar(50),
@DescribeGroup nvarchar(max)


А откуда ваша ХП берет эти переменные?


KommunarВызываю ее следующей командой:
[EditGroup] 1,'qwer','qwer'

Откуда вызываете?

С формы, парметры вызова.

Вызываю по необходимости.
...
Рейтинг: 0 / 0
Параметры ХП
    #35879130
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kommunar, я вам ссылочку давал. Там посмотрели как параметры передаются?
...
Рейтинг: 0 / 0
Параметры ХП
    #35879133
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В какую то не ту степь обсуждение полезло.

Есть проца объявленная выше или любая другая проца с параметрами.

Дают команду на выполнение, так вот надо проверить может ли данная проца в данном контексте выполниться с данными параметрами.

Ограничение на парметры хранятся в базе соответственно чтоб проверить надо знать имя процы, имя параметра и его значение.

Имя процы есть.

Вопрос как при запуске на выпонение
Код: plaintext
1.
[EditGroup] 1,'qwer','qwer'

взять, грубо говоря массив значений этого запуска в виде

ARRAY[0,0] = @IdGroup; ARRAY[0,1] = 1;
ARRAY[1,0] = @CaptionGroup; ARRAY[1,1] = 'qwer';
ARRAY[2,0] = @DescribeGroup; ARRAY[2,1] = 'qwer';

Или в каком - либо другом виде, чтоб можно получить эти значения.
...
Рейтинг: 0 / 0
Параметры ХП
    #35879159
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks-samKommunar, я вам ссылочку давал. Там посмотрели как параметры передаются?

Да немного не то пальто.
...
Рейтинг: 0 / 0
Параметры ХП
    #35879169
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KommunarВ какую то не ту степь обсуждение полезло.

Есть проца объявленная выше или любая другая проца с параметрами.

Дают команду на выполнение, так вот надо проверить может ли данная проца в данном контексте выполниться с данными параметрами.

Ограничение на парметры хранятся в базе соответственно чтоб проверить надо знать имя процы, имя параметра и его значение.

Имя процы есть.

Вопрос как при запуске на выпонение
Код: plaintext
1.
[EditGroup] 1,'qwer','qwer'

взять, грубо говоря массив значений этого запуска в виде

ARRAY[0,0] = @IdGroup; ARRAY[0,1] = 1;
ARRAY[1,0] = @CaptionGroup; ARRAY[1,1] = 'qwer';
ARRAY[2,0] = @DescribeGroup; ARRAY[2,1] = 'qwer';

Или в каком - либо другом виде, чтоб можно получить эти значения.

проверку своих параметров делай в ХП, тем более у тебя допустимые параметры лежат в БД там их удобней проверять, когда все на месте.
На верх бросай эксепшин который лови и оборачивай уже в сообщение чтото типа "У вас нет прав для редактирования группы"
...
Рейтинг: 0 / 0
Параметры ХП
    #35879175
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну в процедуре и проверять в зависимости от переданных параметров. Имеются ли прова на выполнение каких либо действий.
Например:
Вызываем процедуру получения списка стран.
В процедуре идет проверка по Id сотрудник можно ли выполнить select...
...
Рейтинг: 0 / 0
Параметры ХП
    #35879183
Kommunar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PC_2,

Ето надо будет в каждую процу дописывать проверку, немного не удобно.

Вопрос остается открытым.
...
Рейтинг: 0 / 0
Параметры ХП
    #35879199
PC_2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KommunarPC_2,

Ето надо будет в каждую процу дописывать проверку, немного не удобно.

Вопрос остается открытым.

Напиши функцию в БД которая проверяет пермишены и в ней проверяй.
Приимущества проверки прав на уровне БД я писал выше
...
Рейтинг: 0 / 0
Параметры ХП
    #35879213
Фотография aleks-sam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KommunarPC_2,

Ето надо будет в каждую процу дописывать проверку, немного не удобно.

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

Ето надо будет в каждую процу дописывать проверку, немного не удобно.

Вопрос остается открытым.

Напиши функцию в БД которая проверяет пермишены и в ней проверяй.
Приимущества проверки прав на уровне БД я писал выше

Хорошо вопрос следующий:

Можно ли написать процу которая будет по умолчанию запускаться при запуске процедур в базе не на сервере?
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Параметры ХП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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