三层架构用户登录后获取所有的信息

creatdatabase 2011-03-26 08:22:45

model类

public class usersModel
{
private string users_id; //用户编号ID
private string users_name; //用户姓名
private string role_id; //角色编号
private string users_pwd; //密码
private int users_sex; //性别
private string users_tel; //联系电话
private string users_address; //住址
private string users_QQ; //QQ号码
private string users_emial; //Eamil
private string users_promble; //忘记密码设置的问题
private string users_answer; //忘记密码回答问题
private DateTime users_time; //注册时间

public string usersID {
get { return users_id; }
set { users_id = value; }
}
public string usersName {
get { return users_name; }
set { users_name = value; }
}
public string roleID {
get { return role_id; }
set { role_id = value; }
}
public string usersPwd {
get { return users_pwd; }
set { users_pwd = value; }
}
public int usersSex{
get { return users_sex; }
set { users_sex = value; }
}
public string usersTel {
get { return users_tel; }
set { users_tel = value; }
}
public string usersAddress {
get { return users_address; }
set { users_address = value; }
}
public string usersQQ {
get { return users_QQ; }
set { users_QQ = value; }
}
public string usersEmial {
get { return users_emial; }
set { users_emial = value; }
}
public string usersPromble {
get { return users_promble; }
set { users_promble = value; }
}
public string usersAnswer {
get { return users_answer; }
set { users_answer = value; }
}
public DateTime usersTime {
get { return users_time; }
set { users_time = value; }
}

DAl类

public DataTable getUsersInfDal(string sql) {
SqlConnection con = new SqlConnection(sqlHelp);
try
{
SqlDataAdapter sda = new SqlDataAdapter(sql,con);
DataTable dt = new DataTable();
sda.Fill(dt);

return dt;
}
catch (Exception Error) {
throw Error;
}
finally{
con.Close();
con.Dispose();
}
}

BLL类 public DataTable getUsersInfBll(usersModel userID) {
// string str = "getUsersInfProce";
string sql = "select * from users_tb where users_ID='"+userID.usersID+"'";
usersDal usersD = new usersDal();
return usersD.getUsersInfDal(sql);
}


用户登录后,把session过传,在这个页面上需要查询用户所有的信息,都显示在lable控件上代码如下

string users_id = Session["usersID"].ToString();
usersModel usersM = new usersModel();
usersB.getUsersInfBll(usersM);
...全文
369 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
creatdatabase 2011-03-27
  • 打赏
  • 举报
回复

刚刚我去调试下了,应该是这样子的
UI层
string users_id = Session["usersID"].ToString(); //获取的用户登录的 Session["usersID"]
usersModel usersM = new usersModel();
usersM.usersID = users_id; //获取的用户登录的session的users_id赋值给usersM.usersID
usersBll usersB = new usersBll(); //实例一个用户的业务逻辑层users_B

DataTable dt = usersB.getUsersInfBll(usersM); //创建一个DataTable dt调用业务逻辑层一个getUsersInfBll类

this.lblUserID.Text = dt.Rows[0]["users_id"].ToString();
this.labUsersName.Text = dt.Rows[0]["users_name"].ToString();



BLL层
public DataTable getUsersInfBll(usersModel userInf) {
string sql = "select * from users_tb where users_ID='"+userInf.usersID+"'";
usersDal usersD=new usersDal();
return usersD.getUsersInfDal(sql);
}



DAL层
public DataTable getUsersInfDal(string sql)
{
SqlConnection con = new SqlConnection(sqlHelp);
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
try
{
sda.Fill(dt);
return dt;
}
catch (Exception Error) {
throw Error;
}
finally{
con.Close();
con.Dispose();
}
}



测试后,可以获取用户登录后的信息。

不过小弟现在还有一个疑问,如果需要用数据存储过程需要怎么做呢?
以下是users_tb的数据表架构。
代码如下

create table users_tb -- 创建用户表
(
users_id varchar(20) primary key not null , --ID
users_name varchar(20) not null, -- 姓名
role_id varchar(20) not null foreign key references role_tb(role_id) on update cascade on delete cascade,
--角色编号(外键对于表role(role_id))
users_pwd varchar(20) not null, -- 密码
users_sex int , -- 性别
users_tel varchar(20), -- 联系电话
users_address varchar(100), -- 住址
users_QQ varchar(20), -- QQ号码
users_emial varchar(40), -- Eamil
users_promble varchar(50), -- 忘记密码设置的问题
users_answer varchar(50) , -- 忘记密码回答问题
users_time datetime -- 注册时间
)
KeepMoving 2011-03-27
  • 打赏
  • 举报
回复
用户登录后,用Session 或者Cookie 把需要的用户信息记录下,需要的时候取出来,不就行了吗?
  • 打赏
  • 举报
回复
返回类型是Model.usersModel
就行了。。。软后直接new 之后user.name=123.text;
ZhuZhuYuXiang 2011-03-27
  • 打赏
  • 举报
回复

DataTable ds = ubl.dtBll(uml);
Response.Write(ds.Rows[0]["users_id "].ToString());
if(ds.Rows.Count>=1)
{

Response.Write(ds.Rows[0]["users_id "].ToString());


}
else
{
Response.Write("用户不存在");

}


creatdatabase 2011-03-26
  • 打赏
  • 举报
回复
下面是错误提示
在位置 0 处没有任何行。
Response.Write(ds.Rows[0]["users_id "].ToString());
creatdatabase 2011-03-26
  • 打赏
  • 举报
回复

我在UI层写的代码如下
protected void Page_Load(object sender, EventArgs e)
{
string u_id = Session["user_id"].ToString();
Response.Write(u_id);
usersBLL ubl = new usersBLL();
usersModel uml = new usersModel();
uml.usersID = u_id;
DataTable ds = ubl.dtBll(uml);
Response.Write(ds.Rows[0]["users_id "].ToString());

下面是错误提示
在位置 0 处没有任何行。
Response.Write(ds.Rows[0]["users_id "].ToString());
周公 2011-03-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 creatdatabase 的回复:]
C# code

model类

public class usersModel
{
private string users_id; //用户编号ID
private string users_name; //用户姓名
private string role_id; ……
[/Quote]
贴了一堆代码,但是不知道你要问什么问题。
子夜__ 2011-03-26
  • 打赏
  • 举报
回复
public DataTable getUsersInfBll(usersModel userID) {
// string str = "getUsersInfProce";
string sql = "select * from users_tb where users_ID='"+userID.usersID+"'";
usersDal usersD = new usersDal();
return usersD.getUsersInfDal(sql);

你这个返回datatable吧 然后把值传入model中在返回回去不就可以了吗?

usersModel.users_id=DataTable.Rows[0]["对应的列名"].ToString();
一列一列的赋予值

最后session给他

(Session["UserInfo"] as usersModel).users_id.ToString()

这样就会有很多值

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧