خیلی وقتها لازم هست که برای حفظ امنیت برنامه هایی که طراحی میکنیم فرم ورودی رو طراحی کنیم تا کاربر با استفاده از نام کاربری و رمز عبور وارد برنامه بشه

ولی مراحل ساخت این نوع فرم در سی شارپ به چه صورت هست؟ در زیر سعی می کنیم تا مراحل ساخت یک فرم ورود با استفاده از زبان برنامه نویسی سی شارپ و بانک اطلاعاتی SQL Server، Access 2007 و Access 2003 رو به ساده ترین شکل ممکن توضیح بدیم

برای ساخت فرم ورود ابتدا دو تکست باکس با نام های username و password به برنامه اضافه میکنیم. سپس یک دکمه با نام login اضافه می کنیم

به بانک اطلاعاتی مراجعه کرده و جدولی در بانک اطلاعاتی مربوطه با نام users ایجاد کرده و فیلدهای id، username و password ایجاد میکنیم

سپس بر روی دکمه login کلیک کرده و وارد محیط برنامه نویسی آن شده و کد های زیر را وارد میکنیم

SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=DATABASE_NAME;Integrated Security=True");
            SqlCommand com = new SqlCommand();
            int i = 0;
            try
            {

                if ((username.Text == string.Empty) || (password.Text == string.Empty))
                {
                    MessageBox.Show("لطفا نام کاربری و رمز عبور را وارد کنید", "خطا",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    return;
                }

                com = new SqlCommand("SELECT COUNT(*) FROM users WHERE username= '" + username.Text + "' AND password= '" + password.Text + "'", con);


                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                    i = (int)com.ExecuteScalar();
                }//end if

                con.Close();

                if (i > 0)
                {
                    main form = new main();
                    form.Show();
                }
                else
                    MessageBox.Show("نام کاربری و یا رمز عبور اشتباه می باشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
            finally
            {
                i = 0;
                con.Close();
            }

در کد بالا ابتدا مقادیر تکست باکس ها را بررسی می شوند و در صورت خالی بودن، پیامی به کاربر با عنوان “لطفا نام کاربری و رمز عبور را وارد کنید” نمایش داده می شود. در صورت خالی نبودن تکست باکس ها برنامه تعداد رکوردهایی که مقادیر username و password آنها با تکست باکس های مربوط یکسان است مورد شمارش قرار داده و خروجی را در متغیر i قرار می دهد. در صورتی که مقدار متغیر i بزرگتر از ۰ باشد فرم اصلی برنامه نمایش داده می شود، در غیر این صورتی پیامی مبنی بر اشتباه بودن نام کاربری و یا رمز عبور به کاربر نمایش داده می شود.

این آموزش در بانک های اطلاعاتی Access 2003 , 2007 نیز قابل استفاده می باشد. برای استفاده در محیط این نوع بانک های اطلاعاتی کدهای مربوطه را با خط زیر در کد بالا تعویض نمائید.

کد مربوط به SQL Server

(استفاده شده در کد بالا)

SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=DATABASE_NAME;Integrated Security=True");
            SqlCommand com = new SqlCommand();

کد مربوط به Access 2007

            OleDbCommand con = new OleDbCommand("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\DATABASE_NAME.mdb");
            OleDbCommand com = new OleDbCommand();

کد مربوط به Access 2003

            OleDbCommand con = new OleDbCommand("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\DATABASE_NAME.mdb");
            OleDbCommand com = new OleDbCommand();

توجه داشته باشید که نام کاربری و رمز عبور فقط یکبار به صورت مشابه در بانک اطلاعاتی قرار می گیرد به همین دلیل پس از بررسی، خروجی ۰ یا ۱ خواهد بود

درباره نویسنده

سامان

فارغ التحصیل کارشناسی نرم افزار، علاقه مند به برنامه نویسی، طراحی وب، تکنولوژی های نوین، یادگیری و فیلم

مشاهده تمام مقالات