不同使用者登陸模組的實現

iDotNetSpace發表於2009-01-05

主要目的及概況:

本例用的是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);//解決出錯的情況
                }
            }

這樣整個過程搞定......

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-526839/,如需轉載,請註明出處,否則將追究法律責任。

相關文章