三层架构中的代码,求大神逐句解释一下

DAL层publicList<SaleInfo>GetSaleInfoById(stringid){List<SaleInfo>saleInfos=newList<Sal... DAL层
public List<SaleInfo> GetSaleInfoById(string id)
{
List<SaleInfo> saleInfos = new List<SaleInfo>();
DataSet ds = OracleHelper.ExecuteDataset("select * from t_sale where saleID ='" + id + "'", null);
foreach (DataRow row in ds.Tables[0].Rows)
{
SaleInfo saleInfo = new SaleInfo();
saleInfo.saleID = row[0].ToString();
saleInfo.employeeID = row[1].ToString();
saleInfo.sale_date = Convert.ToDateTime(row[2].ToString());
saleInfo.allprice = float.Parse(row[3].ToString());
saleInfo.state = row[4].ToString();
saleInfos.Add(saleInfo);
}
return saleInfos;
}BLL层
public class SaleManager
{
public List<SaleInfo> GetSaleById(string id)
{
return new SaleService().GetSaleInfoById(id);
}
}
展开
 我来答
小自在吖
2013-06-14 · TA获得超过102个赞
知道小有建树答主
回答量:76
采纳率:0%
帮助的人:81.3万
展开全部
我帮你解释下啊:

Dal层:数据层获取数据
public List<SaleInfo> GetSaleInfoById(string id) //在这里定义了一个List<SaleInfo> 泛型,其中很显然 SaleInfo这个是一个类 封装了一些相应的字段(即你每行中所有的字段)
{
List<SaleInfo> saleInfos = new List<SaleInfo>();//实例化List<SaleInfo>对象
DataSet ds = OracleHelper.ExecuteDataset("select * from t_sale where saleID ='" + id + "'", null);//在dataset中保存你所查出来的数据
foreach (DataRow row in ds.Tables[0].Rows)//对表中的所有行进行循环
{
SaleInfo saleInfo = new SaleInfo();//声明一个类实例,
下面是把每行中的数据都存储到一个saleInfo对象中
saleInfo.saleID = row[0].ToString();
saleInfo.employeeID = row[1].ToString();
saleInfo.sale_date = Convert.ToDateTime(row[2].ToString());
saleInfo.allprice = float.Parse(row[3].ToString());
saleInfo.state = row[4].ToString();
saleInfos.Add(saleInfo); 然后把这个对象添加到list<SaleInfo>泛型中
}
return saleInfos; //最后返回这个泛型
这样就实现了表中的数据直接存储到了List<SaleInfo>这个泛型中
}

BLL层 这是逻辑层:在dal中我们只是获取数据,不用处理它
到bll中我们要把它处理成我们表现层所需要的
public class SaleManager
{
public List<SaleInfo> GetSaleById(string id)
{
return new SaleService().GetSaleInfoById(id); //这就是调用Dal中的方法
}
}
接着你在页面中直接调用 GetSaleById(string id)方法就OK了
handangaoyang
2013-06-14 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:893万
展开全部

DAL层

  1. 申明一个集合,存放SaleInfo类型的数据

  2. 执行一条SELECT查询语句,得到结果集,存在DataSet中

  3. 循环遍历DataSet中的数据,把每一行数据,组成SaleInfo类型的数据,添加到第一条语句申明的集合中

  4. 返回集合


BLL层

    1.根据查询条件id,得到所要的数据集合

追问
3.循环遍历DataSet中的数据 是什么意思a
追答
就是你访问数据库时,查询出来的结果,是一张表结构的数据(就是有多条数据,比如3条)

然后它循环遍历每一条数据,其实每一条数据就是一个SaleInfo类,每一列对应SaleInfo类的属性。

所以他遍历DataTable,得到每一行数据(DataRow),然后又把DataRow中的每一列,赋值给对应的SaleInfo类的属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
零到0的距离
2013-06-14 · TA获得超过253个赞
知道小有建树答主
回答量:370
采纳率:100%
帮助的人:281万
展开全部
/// <summary>
/// 声明一个集合的方法 集合的对象是SaleInfo
/// </summary>
/// <param name="id">页面穿过来的id</param>
/// <returns></returns>
public List<SaleInfo> GetSaleInfoById(string id)
{
List<SaleInfo> saleInfos = new List<SaleInfo>();//声明一个集合的对象
DataSet ds = OracleHelper.ExecuteDataset("select * from t_sale where saleID ='" + id + "'", null);//根据id查询数据 并且把值赋给DataSet数据集
foreach (DataRow row in ds.Tables[0].Rows)//遍历DataSet数据集
{
SaleInfo saleInfo = new SaleInfo(); //实例化类
saleInfo.saleID = row[0].ToString();//把数据集里面的ID赋给SeleInfo中的Id
saleInfo.employeeID = row[1].ToString();//把数据集里面的employeeID赋给SeleInfo中的employeeID
saleInfo.sale_date = Convert.ToDateTime(row[2].ToString());//把数据集里面的sale_date赋给SeleInfo中的sale_date
saleInfo.allprice = float.Parse(row[3].ToString());//把数据集里面的allprice赋给SeleInfo中的allprice
saleInfo.state = row[4].ToString();//把数据集里面的state赋给SeleInfo中的state
saleInfos.Add(saleInfo);//把刚才实例化类(每个字段都有值了)的添加到集合中去
}
return saleInfos;//返回一个集合
}BLL层

public class SaleManager //声明一个SaleManager方法
{
/// <summary>
/// 声明一个集合的方法 集合的对象是SaleInfo
/// </summary>
/// <param name="id">页面穿过来的id</param>
/// <returns></returns>
public List<SaleInfo> GetSaleById(string id)
{
return new SaleService().GetSaleInfoById(id);//引用DAL层的方法
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式