powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Храминая процедура T-SQL
25 сообщений из 50, страница 1 из 2
Храминая процедура T-SQL
    #38927444
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, как написать хранимую процедуру, которая бы проверяла наличие записи в БД?
Например, есть таблица dbo.TableUser, нужно понять есть ли в этой таблице определенное значение из столба Passwort
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927462
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927470
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100нужно понять есть ли в этой таблице определенное значение из столба Passwort
Код: sql
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
CREATE TABLE dbo.TableUser (
  Login               VARCHAR(50),
  PasswordHash        VARCHAR(50)
)
GO

SET NOCOUNT ON

INSERT INTO TableUser VALUES ('Vasya', '3fde6bb0541387e4ebdadf7c2ff31123')
INSERT INTO TableUser VALUES ('Petya', '00a1f187721c63501356bf791e69382c')
INSERT INTO TableUser VALUES ('Masha', '8bd6a8b9a8a5573e5a625a28e106dab2')

SET NOCOUNT OFF
GO

CREATE PROCEDURE dbo.CheckUserWithSpecifiedPasswordExists (
  @p_sPasswordHash    VARCHAR(50)
)
AS
BEGIN
  IF EXISTS (SELECT 1 FROM TableUser WHERE PasswordHash = @p_sPasswordHash)
    RETURN 1
    
  RETURN 0
END
GO

DECLARE @nReturnValue INTEGER

EXEC @nReturnValue = CheckUserWithSpecifiedPasswordExists '3fde6bb0541387e4ebdadf7c2ff31123'
PRINT @nReturnValue -- 1 - есть

EXEC @nReturnValue = CheckUserWithSpecifiedPasswordExists 'ebdadf7c2ff311233fde6bb0541387e4'
PRINT @nReturnValue -- 0 - нет
GO

DROP PROCEDURE dbo.CheckUserWithSpecifiedPasswordExists
DROP TABLE dbo.TableUser
GO
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927482
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA100нужно понять есть ли в этой таблице определенное значение из столба Passwort
Код: sql
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
CREATE TABLE dbo.TableUser (
  Login               VARCHAR(50),
  PasswordHash        VARCHAR(50)
)
GO

SET NOCOUNT ON

INSERT INTO TableUser VALUES ('Vasya', '3fde6bb0541387e4ebdadf7c2ff31123')
INSERT INTO TableUser VALUES ('Petya', '00a1f187721c63501356bf791e69382c')
INSERT INTO TableUser VALUES ('Masha', '8bd6a8b9a8a5573e5a625a28e106dab2')

SET NOCOUNT OFF
GO

CREATE PROCEDURE dbo.CheckUserWithSpecifiedPasswordExists (
  @p_sPasswordHash    VARCHAR(50)
)
AS
BEGIN
  IF EXISTS (SELECT 1 FROM TableUser WHERE PasswordHash = @p_sPasswordHash)
    RETURN 1
    
  RETURN 0
END
GO

DECLARE @nReturnValue INTEGER

EXEC @nReturnValue = CheckUserWithSpecifiedPasswordExists '3fde6bb0541387e4ebdadf7c2ff31123'
PRINT @nReturnValue -- 1 - есть

EXEC @nReturnValue = CheckUserWithSpecifiedPasswordExists 'ebdadf7c2ff311233fde6bb0541387e4'
PRINT @nReturnValue -- 0 - нет
GO

DROP PROCEDURE dbo.CheckUserWithSpecifiedPasswordExists
DROP TABLE dbo.TableUser
GO



Спасибо, не понял что такое идет после
DECLARE @nReturnValue INTEGER?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927494
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100, пример идёт.

Оставим только текст хранимой процедуры:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE dbo.CheckUserWithSpecifiedPasswordExists (
  @p_sPasswordHash    VARCHAR(50)
)
AS
BEGIN
  IF EXISTS (SELECT 1 FROM TableUser WHERE PasswordHash = @p_sPasswordHash)
    RETURN 1
    
  RETURN 0
END
GO
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927496
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA100, пример идёт.Пример вызва нашей процедуры на T-SQL.
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927504
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Написал следующий вызывающий код

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 SqlConnection conn = null;
            SqlDataReader rdr = null;
            

            conn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=C:\\Users\\trutn_000\\Documents\\DbProWizardMain.mdf;User ID=User;Password=100Million;Connect Timeout=30");
            conn.Open();

            // 1.  create a command object identifying the stored procedure
            SqlCommand cmd = new SqlCommand("CheckUserEmail", conn);

            // 2. set the command object so it knows to execute a stored procedure
            cmd.CommandType = CommandType.StoredProcedure;

            // 3. add parameter to command, which will be passed to the stored procedure
            cmd.Parameters.Add(new SqlParameter("@Email", 1));

            // execute the command
            rdr = cmd.ExecuteReader();

                 conn.Close();




Но почему возращается нуль, хотя 1-ка в базе есть,

код ХП

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE PROCEDURE dbo.CheckUserEmail (
  @Email    VARCHAR(50)
)
AS
BEGIN
  IF EXISTS (SELECT 1 FROM TableUser WHERE Email = @Email)
    RETURN 1
    
  RETURN 0
END
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927505
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сама база

Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE [dbo].[TableUser] (
    [IdUser]    INT           NULL,
    [Email]     NVARCHAR (50) NULL,
    [Passwort]  NVARCHAR (50) NULL,
    [IdSession] NVARCHAR (50) NULL
);
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927538
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет
У меня вопросы по этой же теме. Мне нужно передавать в хранимку разное кол-во параметров для фильтра. К примеру: есть фильтры по дате, по менеджеру, по офису, по сумме и т.д. Пользователь может активировать и задавать любое кол-во фильтров по своему желанию.
Собственно вопросы:
1) Как правильно передавать в хранимку список параметров для фильтра?
2) Как правильно в хранимке прописать прием этих параметров и делать проверку на валидность типов данных?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927544
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_Привет
У меня вопросы по этой же теме. Мне нужно передавать в хранимку разное кол-во параметров для фильтра. К примеру: есть фильтры по дате, по менеджеру, по офису, по сумме и т.д. Пользователь может активировать и задавать любое кол-во фильтров по своему желанию.
Собственно вопросы:
1) Как правильно передавать в хранимку список параметров для фильтра?
2) Как правильно в хранимке прописать прием этих параметров и делать проверку на валидность типов данных?

Отвратительный подход. Если сама задача поставлена через задний проход, красивых решений не ждите.
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927581
Фотография _=ДОБРЫНЯ=_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt_=ДОБРЫНЯ=_Привет
У меня вопросы по этой же теме. Мне нужно передавать в хранимку разное кол-во параметров для фильтра. К примеру: есть фильтры по дате, по менеджеру, по офису, по сумме и т.д. Пользователь может активировать и задавать любое кол-во фильтров по своему желанию.
Собственно вопросы:
1) Как правильно передавать в хранимку список параметров для фильтра?
2) Как правильно в хранимке прописать прием этих параметров и делать проверку на валидность типов данных?

Отвратительный подход. Если сама задача поставлена через задний проход, красивых решений не ждите.

Если отвратительный подход - то подскажите как быть тогда в таких ситуациях:
Когда через n-е кол-во времени просят добавить один-два фильтра. А потом какой-то убрать, а потом добавить еще 5-ть и т.д. т.д.?
Как грамотно реализовывать такое в ASP?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927584
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_Если отвратительный подход - то подскажите как быть тогда в таких ситуациях:
Когда через n-е кол-во времени просят добавить один-два фильтра. А потом какой-то убрать, а потом добавить еще 5-ть и т.д. т.д.?
Как грамотно реализовывать такое в ASP?

В соседней ветке об этом только говорил: 17456420
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927593
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100, следует использовать ExecuteNonQuery + ParameterDirection.ReturnValue.

Погуглите, мне с планшета не удобно код писать :)
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927594
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_=ДОБРЫНЯ=_, передавайте фильтр в виде XML.
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927840
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Подскажите, а почему мой код не работает? Что здесь ни так?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927850
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100, выше писал.
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927874
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA100, следует использовать ExecuteNonQuery + ParameterDirection.ReturnValue.

Погуглите, мне с планшета не удобно код писать :)

С этим ExecuteNonQuery разобрался, плохо знаю инглиш, поэтому не смог понять что такое ParameterDirection.ReturnValue
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927888
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100ParameterDirection.ReturnValue
НаправлениеПараметров.ВозвращаемоеОбратноЗначение
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927933
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

не понимаю) можно на примере?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927934
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100skyANA100, следует использовать ExecuteNonQuery + ParameterDirection.ReturnValue.

Погуглите, мне с планшета не удобно код писать :)

С этим ExecuteNonQuery разобрался, плохо знаю инглиш, поэтому не смог понять что такое ParameterDirection.ReturnValue
ParameterDirection - перечисление

A simple example on how to get Return and Out parameter values using Ado.Net

Если с инглиш плохо, то возьмите книжку на русском по ADO.NET.
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927943
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

все равно не понимаю как это в связке все работает, можете концептуально расписать?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927962
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100, чтобы получить возвращаемое процедурой значение,
необходимо к SqlCommand добавить параметр, у которого в качестве Direction указать System.Data.ParameterDirection.ReturnValue.

После вызова ExcuteNonQuery, прочитать Value у данного параметра.
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927973
100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

что такое Direction ?
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38927982
Березовский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто такое Direction ?

Направление параметра. Может быть входной параметр и может быть выходной, возвращающий какое то значение из ХП
...
Рейтинг: 0 / 0
Храминая процедура T-SQL
    #38928024
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
100skyANA,

что такое Direction ?Свойство параметра. SqlParameter.Direction - свойство

Вы код по ссылке-то посмотрите. Ладно инглиш, Вам что ещё и код не понятен?
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Храминая процедура T-SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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