+1 امتیاز

ا سلام 
میخوام پروسجر یک مقدار از نوع Bool بهم بده و چون با Entity framwork کار میکنم بنظرم نمیتونم از این روش استفاده کنم

@out bit output


لطفا کمک کنید 
پروسیجر من:

CREATE proc checkuser

@user nvarchar(50),

@pass nvarchar(50)

as

declare @result int

declare @out bit=0

begin

select @result= COUNT(*) from users where userr=@user and pass=@pass

if(@result>0)

set @out=1

return @out

end

go

 

3 پاسخ

0 امتیاز
سلام

شما يك فرم لاگين ساختين مي خواين حتما با پروسيجر ها بنويسيدش؟ تا پروسيجرتون رو تصحيح كنم .

اگر هم با دستورات Entity مي خوايد اين فرم رو بسازيد كد مر بوط به entity  رو بهتون بدم.
دوست عزیز من فقط به این select @out نیاز داشتم که جواب های بی ربط داده شد ... فروم مسخره ای هست اینجا هیچوقت جواب درست حسابی بهم ندادنوفقط یه سری مشکلات ساده مطرح میشه که نشون میده اکثر افراد این انجمن مبتدی هستن
توسط (108 امتیاز) 4 7
بايد كامل توضيح بدين افراد انجمن كه فكر شما رو نمي تونن بخونن

كامل توضيح بديد اين دستور رو در كجا مي خوايد به كار ببرين

دستور پروسيجر يك دستور login بود و براي همين شايد جواب دوستان براي تست كردن مقدار بازگشتي اشتباه بوده .
توسط (607 امتیاز) 1 5 29
0 امتیاز

اين كد براي پروسيجرتون :

ALTER PROCEDURE Sp_Login 
@User nvarchar(50),
@Password nvarchar(50)
as
select * from Table_Login where Table_Login.UserName=@User and Table_Login.Password=@Password

 

اين كد هم براي استفاده در سي شارپ (البته با كمي تغيير در جداول):

//با استفاده از پروسيجر ها
        var query=    DataContext.Sp_Login(txtUserName.Text,txtPassword.Text);

            //با استفاده از تكنولوژي لينك

          //  DataClasses1DataContext DataContext = new DataClasses1DataContext();
         //   var query = DataContext.Table_Logins.Where(Enter=>Enter.UserName==txtUserName.Text && Enter.Password==txtPassword.Text);
            if (query.Count() != 0)
            {
                this.Hide();
                telephone telephone = new telephone();
                telephone.ShowDialog();
            }
            else
            {
                MessageBox.Show("نام كاربري يا كلمه عبور صحيح نمي باشد ");
            }

 

عزیزم سوالو متوجه نشدی من فقط یه مقدار از نوع bool میخواستم بهم بده با این دستور جواب گرفتم select @out

تو سی شارپ مشکلی نداشتم

ممنون
توسط (108 امتیاز) 4 7
0 امتیاز
CREATE proc checkuser
 
@user nvarchar(50),
 
@pass nvarchar(50),
@result bit = 0 output
 
as
 if(Select (count(*) from usre where userr=@user and pass=@pass))=1 -- فقط یه کاربر بزرگتر از 0 هم بزاری میشه ولی ...
 begin
 set @result = 1
 end

به این ترتیب ویرایش کن

و تو محیط برنامه نویسی SQlcommand رو رو یه پارامتر خروجی ست کن

 

سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...