DAL层:
private const string SQL_SELECT_USERINFO_U_P = "select * from UserInfo where AuthorName=@AuthorName and PassWord=@PassWord";
public static UserInfo SelectUserInfo(UserInfo user)
{
using (SqlDataReader rdr = SQLHelper.ExecuteReader(CommandType.Text,
SQL_SELECT_USERINFO_U_P,
new SqlParameter("@AuthorName",user.AuthorName),
new SqlParameter("@PassWord",user.PassWord)))
{
if (rdr.Read())
{
user = new UserInfo(rdr.GetString(0), rdr.GetString(1));
return user;
rdr.Close();
}
return null;
}
}
BLL层:
public static UserInfo SelectUserInfo(UserInfo user)
{
return UserInfoService.SelectUserInfo(user);
}
WEB层登陆页面:
rotected void Button1_Click(object sender, EventArgs e)
{
string AuthorName = this.txtUserName.Text.Trim();
string Password = this.txtPassword.Text.Trim(); UserInfo user = new UserInfo(AuthorName, Password); if (UserInfoManager.SelectUserInfo(user) == null)
{
this.lblErrorMessage.Text = "登录失败!";
}
else
{
user.LoginTimes++;
Session["info"] = user;
Response.Redirect("~/Main.aspx"); }
}
登录后界面:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["info"]==null)
{
Response.Redirect("~/Default.aspx");
} UserInfo user = Session["info"] as UserInfo; this.lblAuthorName.Text = user.AuthorName;
this.lblDay.Text = DateTime.Now.ToString("yyyy-MM-dd");
this.lblLoginTimes.Text = user.LoginTimes.ToString();
this.lbldatetime.Text = DateTime.Now.ToString("hh:mm"); }
AuthorName可以正常传过来的,可是lblLoginTimes就不行,传不过来值的,我的SQL语句查询的是表中的一行数据啊,为什么有的传过来了,有的就没传过来呢,请给我写出正确的代码让我参考一下谢谢啦
private const string SQL_SELECT_USERINFO_U_P = "select * from UserInfo where AuthorName=@AuthorName and PassWord=@PassWord";
public static UserInfo SelectUserInfo(UserInfo user)
{
using (SqlDataReader rdr = SQLHelper.ExecuteReader(CommandType.Text,
SQL_SELECT_USERINFO_U_P,
new SqlParameter("@AuthorName",user.AuthorName),
new SqlParameter("@PassWord",user.PassWord)))
{
if (rdr.Read())
{
user = new UserInfo(rdr.GetString(0), rdr.GetString(1));
return user;
rdr.Close();
}
return null;
}
}
BLL层:
public static UserInfo SelectUserInfo(UserInfo user)
{
return UserInfoService.SelectUserInfo(user);
}
WEB层登陆页面:
rotected void Button1_Click(object sender, EventArgs e)
{
string AuthorName = this.txtUserName.Text.Trim();
string Password = this.txtPassword.Text.Trim(); UserInfo user = new UserInfo(AuthorName, Password); if (UserInfoManager.SelectUserInfo(user) == null)
{
this.lblErrorMessage.Text = "登录失败!";
}
else
{
user.LoginTimes++;
Session["info"] = user;
Response.Redirect("~/Main.aspx"); }
}
登录后界面:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["info"]==null)
{
Response.Redirect("~/Default.aspx");
} UserInfo user = Session["info"] as UserInfo; this.lblAuthorName.Text = user.AuthorName;
this.lblDay.Text = DateTime.Now.ToString("yyyy-MM-dd");
this.lblLoginTimes.Text = user.LoginTimes.ToString();
this.lbldatetime.Text = DateTime.Now.ToString("hh:mm"); }
AuthorName可以正常传过来的,可是lblLoginTimes就不行,传不过来值的,我的SQL语句查询的是表中的一行数据啊,为什么有的传过来了,有的就没传过来呢,请给我写出正确的代码让我参考一下谢谢啦
你的new UserInfo构造函数怎么写的?
new UserInfo(rdr.GetString(0), rdr.GetString(1));这里只传两个值进来。。
把全部的字段都添加进去了,可是Session还是传不过去,只有用户名和密码可以传的过去
{
//赋值给user
user.AuthorName = rdr["AuthorName"].ToString();
user.LoginTimes = rdr["LoginTimes"].ToString();
//下面省略不写
}