不同用户登陆模块的实现

<不求最好,只求更好>

希望此文章对你能有一定的帮助!

主要目的及概况:

本例用的是ACCESS数据库Test.mdb,单纯的为练习实现用户的登陆.

数据库中有两张表DWlogin和GRlogin表,存放DW和GR两种用户.

DW用户登陆成功的时候转到HomePage.aspx页面.

GR用户登陆成功的时候转到login.aspx页面.

  • 打开数据库(不用多说什么了).

          string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("DB/Test.mdb");

          OleDbConnection con = new OleDbConnection(str);

          con.Open();

  • 获取用户登陆时的用户名与密码.其实就是获取两个TextBox的Text值,如下:

          string username = TextBox1.Text.Trim();//获取用户输入的用户名

          string pwd = TextBox2.Text.Trim();//获取用户输入的密码

  • 对获取的数据进行验证.这个过程主要做两件事:

           1.对输入的名字以及密码进行验证,是否一致.

           2.进行用户的判别,从而连接不同页面的指向.如下:

     //初始定义SQL语句.假定是用户是DW用户.所以是对表DWlogin的操作.

               string SQLstr = "select * from DWlogin where ID = '" + username + "' and password = '" + pwd + "'";   

     OleDbCommand cmd = new OleDbCommand(SQLstr, con);//Command对象

     OleDbDataReader dr = cmd.ExecuteReader();

     if (dr.Read())//返回的是个BOOL值,当SQL语句查找有记录的时候返回TRUE,要不然为FALSE
           {

                Session["ID"] = dr["ID"].ToString();//传Session,以备后用
                Response.Redirect("HomePage.aspx");//跳转到登陆后页面
            }
            else// 如果没有查询到记录的条件下
            {

                //重新定义SQL语句,此时将是对表GRlogin的操作.
                string Sqlstr = "select * from GRlogin where ID = '" + username + "' and password = '" + pwd + "'";

                //以下同上解释
                OleDbCommand cmd1 = new OleDbCommand(Sqlstr, con);
                OleDbDataReader dr1 = cmd1.ExecuteReader();
                if (dr1.Read())
                {
                    Session["ID"] = dr1["ID"].ToString();
                    Response.Redirect("login.aspx");
                }

               else
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('用户名或密码错误!');", true);//解决出错的情况
                }
            }

这样整个过程搞定......

转载于:https://www.cnblogs.com/hilary3210/archive/2009/01/05/1368792.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值