不同用户登陆模块的实现
<不求最好,只求更好>
希望此文章对你能有一定的帮助!
主要目的及概况:
本例用的是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);//解决出错的情况
}
}这样整个过程搞定......