Member 7909353 Ответов: 7

хранимая процедура входа в систему


У меня есть таблица " логин(имя пользователя, пароль, обозначение)".
Я хочу создать процедуру stroed для входа в систему.У меня есть код c# для этого,но я хочу, чтобы хранимая процедура из хранимой процедуры возвращала обозначение.

код c# следующий...
string s = "select UserName,Password,Designation from Login where UserName=@uname and  Password=@pass";
               SqlCommand cmd1 = new SqlCommand(s, con);
               cmd1.Parameters.AddWithValue("@uname", TextBox1.Text);
               cmd1.Parameters.AddWithValue("@pass", TextBox2.Text);
               SqlDataReader dr = cmd1.ExecuteReader(CommandBehavior.SingleRow);

7 Ответов

Рейтинг:
47

uspatel

Если вы новичок в хранимых процедурах,вы можете ознакомиться с этой статьей CP
Sql Server - как написать хранимую процедуру в Sql server[^]
и
Основы хранимой процедуры


SP для входа в систему см. Этот пример
http://www.dotnetspider.com/resources/20412-login-stored-procedures.aspx[^]


Рейтинг:
2

Mohamed Mitwalli

Привет ,
Попробовать это

CREATE PROCEDURE usp_Login
(
@uname NVARCHAR(50),  @pass NVARCHAR(50)
)
AS
BEGIN
SET NOCOUNT ON;
SELECT  UserName,[Password],Designation
FROM dbo.Login
WHEREUserName=@uname AND [Password]=@pass
end


с уважением
М. Митвалли


Рейтинг:
2

Prasanta_Prince

select * from UserMstr where Password=@Password and Password in (select password from UserMstr where UserName=@Username and IsDeleted='False' and IsActive='True')    and UserName=@Username      


Это также поможет вам проверить SQL-инъекцию. Кроме того, в вашем запросе легко пройти проверку входа в систему с помощью правильного sql-инъекции.


Рейтинг:
0

Sebastian T Xavier

Привет,

Образец первый[^]

Образец второй[^]

Используйте следующий запрос в хранимой процедуре

select @INtegerVariable = count(UserName) from Login where UserName=@uname and  Password=@pass


затем
Select @INtegerVariable
....

Если значение @INtegerVariable равно 1, то вход в систему успешен, иначе нет.

С уважением
Себастьян


Рейтинг:
0

summon_19

/* Эта хранимая процедура должна работать для Oracle DB.
Я предполагаю, что столбец UserName в таблице является уникальным полем
Я также надеюсь ,что вы знаете о вызове хранимой процедуры из.Чистый код
*/

create or replace procedure sp_login
(
p_user_name Login.UserName%type,
p_password  Login.Password%type,
p_message out varchar2
)is

v_user_count number(1):=0

begin

   if p_username='' or p_password='' then
      p_message='Username Or Password Cannot Be Blank';
   end if;

   begin
          select count(*) into v_user_count from <login> where Username=p_user_name and   Password=p_password;        
      exception
            when others then
              raise_application_error('-20001','Error While Retrieving Data.');
   end;

   if v_user_count=0 then
         p_message:='Invalid Login Details';
   elsif v_user_count=1 then
         p_message:='Success';
   else
         p_message:='Critical Error.';
   end if;

end;


Рейтинг:
0

Mukund Thakker

CREATE PROCEDURE login
(
	@username varchar(100)='',
	@password varchar(100)=''
)
As
Begin
	if exists(select 1 from Login where where UserName=@username and  Password=@password) 
	Begin
		Select UserName,Password,Designation from Login where UserName=@username and  Password=@password 
	End
End