【非哥】

xupeihuagudulei 2009-12-17 02:49:34
string userName = txtName.Text.Trim(), userPwd = txtPwd.Text.Trim();


//模拟数据库
Dictionary<string, User> dic = new Dictionary<string, User>();
User u = new User();
u.ID = 1;
u.Name = "xupeihuagudulei";
u.Pwd = "xupeihuagudulei";
dic.Add("xupeihuagudulei", u);
u = new User();
u.ID = 2;
u.Name = "xupeihuagudulei1";
u.Pwd = "xupeihuagudulei1";
dic.Add("xupeihuagudulei1", u);
u = new User();
u.ID = 3;
u.Name = "temp";
u.Pwd = "123";
dic.Add("temp", u);


if (dic.Keys.Contains(userName) && dic[userName].Pwd == userPwd)
{
Session["userID"] = dic[userName].ID;
Response.Redirect("Main.aspx");
}
else
{
ClientScript.RegisterStartupScript(GetType(), "error", "alert('用户名或密码错误!');", true);
}

}


如下代码是用模拟数据库
从真实数据库读取所有用户的用户id 用户名出来放到user实体类(可是读取出来的是很多条,怎么放进去呢)
然后再把实体类信息存进dictionary里()
再去判断

...全文
196 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
_0筱筱0_ 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xupeihuagudulei 的回复:]
OK
去试试鸟,其实我就是等这句话
楼上的
就是想用一个东西来装users
[/Quote]

晕死 最后才明白楼主什么意思.....唉 分没了....
chenyunkun2008 2009-12-17
  • 打赏
  • 举报
回复
晕!!!

原来这个意思!
阿非 2009-12-17
  • 打赏
  • 举报
回复
Dictionary <int, Model.Users> dic = new Dictionary <int, Model.Users>();
Model.Users users ;
SqlDataReader topreader = SqlHelper1.ExecuteReader(SqlStr1.xskjConnectString, CommandType.Text, SqlStr1.sql_GetUser, MyPara);
while (topreader.Read())
{
users = new Model.Users();
users.ID = Convert.ToInt32(topreader["ID"]);
users.Name = topreader["Name"].ToString();
dic.Add(users.ID,users);
}
topreader.Close();


return dic;
xupeihuagudulei 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 sandy945 的回复:]
你这是模拟啊。
要是我从数据库读出来不知道他有多少条呢,


你需要把添加的过程放到循环中  遍历查询到的结果集罢了

你只需要

u = new User();
        u.ID = 1;
        u.Name = "xupeihuagudulei";
        u.Pwd = "xupeihuagudulei";
        dic.Add("xupeihuagudulei", u);

把这段代码放到循环中 就可以的
[/Quote]

Model.Users users = new Model.Users();


SqlDataReader topreader = SqlHelper1.ExecuteReader(SqlStr1.xskjConnectString, CommandType.Text, SqlStr1.sql_GetUser, MyPara);
if (topreader.HasRows)
{
topreader.Read();
users.ID = Convert.ToInt32(topreader["ID"]);
users.Name = topreader["Name"].ToString();



topreader.Close();

}
return users;


这段代码如何和dictionary结合起来
zzxap 2009-12-17
  • 打赏
  • 举报
回复
围观飞哥
xuyiazl 2009-12-17
  • 打赏
  • 举报
回复
路过
阿非 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 xupeihuagudulei 的回复:]
其实也是,把数据存进list
又要从list再放到dictionary。
[/Quote]

list 和 dictionary 都是集合

只是它们的工作方式不一样而已
阿非 2009-12-17
  • 打赏
  • 举报
回复
你这是模拟啊。
要是我从数据库读出来不知道他有多少条呢,


你需要把添加的过程放到循环中 遍历查询到的结果集罢了

你只需要

u = new User();
u.ID = 1;
u.Name = "xupeihuagudulei";
u.Pwd = "xupeihuagudulei";
dic.Add("xupeihuagudulei", u);

把这段代码放到循环中 就可以的
xupeihuagudulei 2009-12-17
  • 打赏
  • 举报
回复
其实也是,把数据存进list
又要从list再放到dictionary。
xupeihuagudulei 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 sandy945 的回复:]
才看到

从真实数据库读取所有用户的用户id 用户名出来放到user实体类(可是读取出来的是很多条,怎么放进去呢)
然后再把实体类信息存进dictionary里()
再去判断


可是读取出来的是很多条,怎么放进去呢

Dictionary <string, User> dic = new Dictionary <string, User>();
        User u = new User();
        u.ID = 1;
        u.Name = "xupeihuagudulei";
        u.Pwd = "xupeihuagudulei";
        dic.Add("xupeihuagudulei", u);
        u = new User();
        u.ID = 2;
        u.Name = "xupeihuagudulei1";
        u.Pwd = "xupeihuagudulei1";
        dic.Add("xupeihuagudulei1", u);
        u = new User();
        u.ID = 3;
        u.Name = "temp";
        u.Pwd = "123";
        dic.Add("temp", u);


这个不就是三个用户么
[/Quote]你这是模拟啊。
要是我从数据库读出来不知道他有多少条呢,
阿非 2009-12-17
  • 打赏
  • 举报
回复
只是 你需要把添加的过程放到循环中 遍历查询到的结果集罢了
阿非 2009-12-17
  • 打赏
  • 举报
回复
才看到

从真实数据库读取所有用户的用户id 用户名出来放到user实体类(可是读取出来的是很多条,怎么放进去呢)
然后再把实体类信息存进dictionary里()
再去判断


可是读取出来的是很多条,怎么放进去呢

Dictionary <string, User> dic = new Dictionary <string, User>();
User u = new User();
u.ID = 1;
u.Name = "xupeihuagudulei";
u.Pwd = "xupeihuagudulei";
dic.Add("xupeihuagudulei", u);
u = new User();
u.ID = 2;
u.Name = "xupeihuagudulei1";
u.Pwd = "xupeihuagudulei1";
dic.Add("xupeihuagudulei1", u);
u = new User();
u.ID = 3;
u.Name = "temp";
u.Pwd = "123";
dic.Add("temp", u);


这个不就是三个用户么
chengcheng1253 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xupeihuagudulei 的回复:]
OK
去试试鸟,其实我就是等这句话
楼上的
就是想用一个东西来装users
[/Quote]
。。。。终于理解对了 汗一个~~
Lovely_baby 2009-12-17
  • 打赏
  • 举报
回复
sql 语句写成
select id,name from UserInfo
得到的结果放到LIST <Users>类型的方法中~~
zhulong1111 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xupeihuagudulei 的回复:]
引用 5 楼 chengcheng1253 的回复:
用 list <users>  来存放你从数据库里取出来的 已经对应好的每一个user 可行不?
应该可行,可是我不知道list <users>咋用。
[/Quote]

不会用泛型???????
xupeihuagudulei 2009-12-17
  • 打赏
  • 举报
回复
OK
去试试鸟,其实我就是等这句话
楼上的
就是想用一个东西来装users
chengcheng1253 2009-12-17
  • 打赏
  • 举报
回复
list<Users> users = new list<Users>()
users.add(user1);
users.add(user2); 一个一个加进去 等于是一个容器

等你要用了 就遍历一下 list

foreach(User user in list)
{
user 针对每一个user的操作
}
Lovely_baby 2009-12-17
  • 打赏
  • 举报
回复
那是因为你的方法是只取出一条~~
你使用一个LIST<>类型
或以DATASET存储你的Getuser()类
xupeihuagudulei 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chengcheng1253 的回复:]
用 list <users>  来存放你从数据库里取出来的 已经对应好的每一个user 可行不?
[/Quote]应该可行,可是我不知道list<users>咋用。
xupeihuagudulei 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lovely_baby 的回复:]
引用 4 楼 xupeihuagudulei 的回复:
然后再去定义一个方法
public users Getuser()
{
  //  从数据库读取数据    执行一些操作
}

也就是Users UserInfo = Getuser();
这样就写到User实体类了
[/Quote] 可是只有一条。
加载更多回复(9)

62,046

社区成员

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

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

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

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