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值方法...

解决方案 »

  1.   

    你确定 UserModel  是这么写的?
      

  2.   

    你这个写的是返回登录的用户的代码吧  既然是返回登录用户  那么只会返回一个用户 为什么要返回list
    DAL里面重新写一个方法
    根据ID 获得 UserModel
      直接返回UserModel
    然后  通过返回的UserModel 属性取值
      

  3.   

    你要取第一个,不循环的话,只能是list[0].Id,list[0].Passport,
    你要是随便取那个的话,也可以用list[list.count-1].Id这样取或者foream(UserModel m in PersonalDAL.GetUser(Id))
    {
      id=m.Id;
      ...
       break;
    }这样也是只取一个
      

  4.   

    对啊,以前做过个.NET的项目,就是这么搞的,那时候也用的这种LIST返回的,不过取出都用个FOREACH,吧LIST的数据分字段取出来,不过好久没用都忘记了,所以来问下- =
      

  5.   

    PersonalDAL PDAL=new PersonalDAL();
    List<UserModel> list=PDAL.GetUser(Id);
    stirng Id=list[0].Id;
      

  6.   

    stirng Id=list[0].Id;
    就是这一句,谢了