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值方法...
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值方法...
DAL里面重新写一个方法
根据ID 获得 UserModel
直接返回UserModel
然后 通过返回的UserModel 属性取值
你要是随便取那个的话,也可以用list[list.count-1].Id这样取或者foream(UserModel m in PersonalDAL.GetUser(Id))
{
id=m.Id;
...
break;
}这样也是只取一个
List<UserModel> list=PDAL.GetUser(Id);
stirng Id=list[0].Id;
就是这一句,谢了