关于c#取出从数据库里取了值的List结构中的数据

yangkuanku 2011-04-05 09:07:45
BLL层

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using MODEL;


namespace BLL
{
public class LoginInBLL
{
public static int CheckPassword(String Id, String Password)
{
string Getid,Getpassword,Getpower;
if (PersonalDAL.GetUser(Id).Count == 0)
return 1;
else
{
//这里写取值得部分
}

return 1;
}
}
}


MODEL层

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MODEL
{
public class UserModel
{
private string Name, Code, power;

public string Password
{
get { return Code; }
set { Code = value; }
}



public string Id
{
get { return Name; }
set { Name = value; }
}

public string Power
{
get { return power; }
set { power = value; }
}
}
}


DLL层


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MODEL;
using System.Data;
using System.Data.SqlClient;

namespace DAL
{
public class PersonalDAL
{
public static List<UserModel> GetUser(string Id){
List<UserModel> listore =new List<UserModel>();
SqlConnection conn = new SqlConnection(DBHelper.connString);
conn.Open();
string selectSql="select * from AccountInformation where Name=@Id";
SqlCommand cmd=new SqlCommand(selectSql,conn);
SqlParameter parm = new SqlParameter("@Id",SqlDbType.VarChar,20);
parm.Value = Id;
cmd.Parameters.Add(parm);

SqlDataReader dr =cmd.ExecuteReader();
while(dr.Read())
{
UserModel usermode=new UserModel();
usermode.Id=dr["Name"].ToString();
usermode.Password=dr["code"].ToString();
usermode.Power=(string)dr["power"].ToString();
listore.Add(usermode);
}
conn.Close();
return listore;
}


}


求教怎么在BLL层里面写取出对应的数据,因为是登陆验证,所有返回的LIST因该只有一层三个数据,分别是Id,Password,Power三个,想问下怎么写能够对应的取出这三个值,最好是对应字段而不是通过取LIST第一个第二个数据的方式.(c# winform程序)
厄,刚发个帖结早了,这东西用USER直接返回不行啊,其他的不是一行的也不能这么干啊,求取list值方法...
...全文
419 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangkuanku 2011-04-05
  • 打赏
  • 举报
回复
stirng Id=list[0].Id;
就是这一句,谢了
不啦草 2011-04-05
  • 打赏
  • 举报
回复
PersonalDAL PDAL=new PersonalDAL();
List<UserModel> list=PDAL.GetUser(Id);
stirng Id=list[0].Id;
yangkuanku 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ye987987 的回复:]

你确定 UserModel 是这么写的?
[/Quote]
对啊,以前做过个.NET的项目,就是这么搞的,那时候也用的这种LIST返回的,不过取出都用个FOREACH,吧LIST的数据分字段取出来,不过好久没用都忘记了,所以来问下- =
Fibona 2011-04-05
  • 打赏
  • 举报
回复
你要取第一个,不循环的话,只能是list[0].Id,list[0].Passport,
你要是随便取那个的话,也可以用list[list.count-1].Id这样取

或者
foream(UserModel m in PersonalDAL.GetUser(Id))
{
id=m.Id;
...
break;
}
这样也是只取一个
ww274857956 2011-04-05
  • 打赏
  • 举报
回复
你这个写的是返回登录的用户的代码吧 既然是返回登录用户 那么只会返回一个用户 为什么要返回list
DAL里面重新写一个方法
根据ID 获得 UserModel
直接返回UserModel
然后 通过返回的UserModel 属性取值
不啦草 2011-04-05
  • 打赏
  • 举报
回复
你确定 UserModel 是这么写的?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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