NET Programming.

فرم Login در ابتدای برنامه

در اکثربرنامه های امروزی از فرمی برای تائید کردن نام کاربرو پسورد کاربر استفاده می کنند به همین جهت در پروژه های VB.Net ( برای پروژه های C# چنین امکانی نیست )چنین فرمی به طور پیش فرض تدارک دیده شده است البته خود شما نیز به راحتی می توانید آنرا بسازید و این امکان فقط برای سرعت بخشیدن به طراحی برنامه است.

برای اضافه کردن ان از مسیر Project/Add Windows Form شی LoginForm را به برنامه اضافه کنید یا خودتان یک فرم با دو کنترل textbox به نامهای UsernameTextBox و PasswordTextBox و دو باتن به نامهای Ok و Cancel به برنامه اضافه کنید.

از اینجا به بعد فرض می کنم که شما برای چک کردن username و password ورودی کاربران یک جدول در اکسس با نام users ایجاد کرده اید که دارای دو فیلد username و password است.

حال می خواهیم برنامه ای بنویسیم که در صورت تائید یا وجود داشتن نام کاربری و پسورد در پایگاه داده ، فرم اصلی برنامه با نام frmmain را نمایش بدهد و فرم login را ببندد.

در ابتدا دو namespace زیر را اضافه کنید:

C#.NET
using System.Data.OleDb;
using System.Threading;


VB.NET
Imports System.Data.OleDb
Imports System.Threading

سپس دو متغیر زیر را به صورت سراسری تعریف کنید:


C#.NET
private OleDbConnection con;
private OleDbCommand com;


VB.NET
Private con As OleDbConnection
Private com As OleDbCommand

سپس در رویدادLoad فرم Login دستورات زیر را وارد کنید:


C#.NET
con = new OleDbConnection();
con.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source=TEST.accdb";


VB.NET
con = New OleDbConnection
con.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source=TEST.accdb"

توجه کنید فایل اکسس درنظرگرفته شده 2007 و در پوشه Debug قرار دارد. ]

حال در رویداد Click دکمه OK دستورات زیر را بنویسید:


C#.NET
com = new OleDbCommand();
con.Open();
com.Connection = con;
com.CommandText = "select count(*) from users where username='" + UsernameTextBox.Text + "' and password='" + PasswordTextBox.Text + "'";
int value;
value = (int)com.ExecuteScalar();
if (value == 1)
{
   Thread form = new Thread(new ThreadStart(MainForm));
   form.Start();
   this.Close();
}
else
   MessageBox.Show("نام کاربری یا رمز ورودی اشتباه است");
con.Close();


VB.NET
com = New OleDbCommand
con.Open()
com.Connection = con
com.CommandText = "select count(*) from users where username='" & UsernameTextBox.Text & "' and password='" & PasswordTextBox.Text & "'"
Dim value As Int16
value = com.ExecuteScalar
If value = 1 Then
   Dim form As New Thread(AddressOf MainForm)
   form.Start()
   Me.Close()
Else
   MessageBox.Show("نام کاربری یا رمز ورودی اشتباه است")
End If
con.Close()

حالا باید تابعی (تابع MainForm) به صورت زیر تعریف کنید:


C#.NET
private void MainForm()
{
    frmmain frmm=new frmmain();
    Application.Run(frmm);
}


VB.NET
PrivateShared Sub MainForm()
      Dim frmm As New frmmain
      Application.Run(frmm)
End Sub

در رویداد Click دکمه Cancel دستورات زیر را بنویسید:


C#.NET
this.Close();


VB.NET
Me.Close()

این برنامه برای اجرا آماده است.

نکته : باید توجه داشت که برای ذخیره کردن پسورد در پایگاه داده باید آنرا hash کرد که hash کردن پسورد در مقاله ایی جداگانه گفته خواهد شد.


دیدگاه شما :

نام             

ایمیل         

وب سایت  

پیام
                  

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '207.158.5.107' (10060) in C:\HostingSpaces\mobtaker\mobtakercode.com\wwwroot\2004.php on line 362
نمی تواند به سرویس دهنده متصل شودCan't connect to MySQL server on '207.158.5.107' (10060)