PDA

View Full Version : فرم کنترلusername,password



Amir80
چهارشنبه 02 فروردین 1385, 02:38 صبح
با عرض سلام خدمت شما دوستان عزیز و تبریک به مناسبت سال نو.
ازشما دوستان عزیز تقاضا دارم sourceبرنامه ای را می خوام که user , passwordرو از کاربر توسط دوtextboxبگیره و در یک جدول sql serverصلاحیت کاربر رو چک کنه و در صورت صحیح بودن username,passwordاجازه ورود کاربر رو بده و فرم اصلی برنامه رو نشون بده.(اطلاعات مربوط به کاربر حتما در یک جدول sql serverذخیره شده باشه).شدیدا نیاز به این کد دارم

MMAASS
پنج شنبه 03 فروردین 1385, 21:32 عصر
سلام
ابتدا این ساب را در برنامه بنویس (اینو هر جا که دوست داشته باشی بنویسی مهم نیست) اما یه جایی بنویس که از نظر منطقی درست باشه من خودم معمولا تو یه کلاس جدید این کارو میکنم
بعد Startup Object برنامه رو بذار رو Sub Main .



Public Shared Sub Main()
Dim frm AsNew frmLogin
frm.ShowDialog()
Dim DialogResult As DialogResult
SelectCase frm.DialogResult
Case DialogResult.OK
'Return True
Application.Run(New frmMDI)
ExitSelect
Case DialogResult.Cancel
Application.Exit()
EndSelect
EndSub

حالا تو فرمی که واسه دریافت نام کاربر و کلمه عبور گذاشتی برای کلید ورودت این کد رو بنویس


IfNot Conn.State = ConnectionState.Open Then
Conn.Open()
EndIf

cmd.Parameters("@pUserName").Value = txtUser.Text
cmd.Parameters("@pPass").Value =txtPass.Text
cmd.ExecuteNonQuery()
IfCBool(cmd.Parameters("@RETURN_VALUE").Value) Then
'کاربر معتبر است
DialogResult = DialogResult.OK
Close()
Else
'کاربر معتبر نیست
SelectCase MessageBox.Show(". کلمه عبور اشتباه است آن را دوباره وارد کنید", "ورود به برنامه", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Case DialogResult.OK
txtPass.Clear()
txtPass.Focus()
Case DialogResult.Cancel
ExitSub
EndSelect
EndIf

cmd هم یه کامنده که مربوط به استورپراسیجریه که اعتبار کاربر رو چک می کنه.

اما یه مشکل داره گاهی وقتا وقتی که کاربر معتبر نیست فرم رو می بنده و از برنامه خارج می شه و منتظر ورود دوباره نمی شه. :متفکر:
اگه از دوستان کسی می دونه چرا این طوریه (البته بعضی از وقتها) منو راهنمایی کنه.

MMAASS
شنبه 12 فروردین 1385, 00:38 صبح
نگفتین جواب گرفتین یا نه؟