三层开发体验之数据访问层
这是用实体类型的数组,实体代码为
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Accesscontrol{ public class role { public string RoleName { get; set; } public string Remark { get; set; } }}
通过传递实体类类型的数组,将实体中的属性值装载到泛型中去?
public role[] SelectAll() { using (SqlConnection con = new SqlConnection(constr)) { SqlCommand cmd = con.CreateCommand(); cmd.CommandText = "select *from role"; con.Open(); List<role> roles = new List<role>(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { role Role = new role(); Role.RoleName = sdr.GetString(0); if (!sdr.IsDBNull(1)) { Role.Remark = sdr.GetString(1); } roles.Add(Role); } sdr.Close(); return roles.ToArray(); } }
接下来是传递泛型的实体类数组,道理和上面的一样
public List<role> SelectAll() { using (SqlConnection con = new SqlConnection(constr)) { SqlCommand cmd = con.CreateCommand(); cmd.CommandText = "select *from role"; con.Open(); list<role> lrole=new list<role>(); role roles = new role(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { roles.RoleName = sdr.GetString(0); if (!sdr.IsDBNull(1)) { roles.Remark = sdr.GetString(1); } lrole.Add(roles); } sdr.Close(); return lrole; } }?最后这种是直接使用实体类装载
public role SelectAll() { using (SqlConnection con = new SqlConnection(constr)) { SqlCommand cmd = con.CreateCommand(); cmd.CommandText = "select *from role"; con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { role Role = new role(); Role.RoleName = sdr.GetString(0); if (!sdr.IsDBNull(1)) { Role.Remark = sdr.GetString(1); } } sdr.Close(); return Role; } }?
?