1. 使用三层构架要注重应用BLL层的类,而不是去阻止控件的事件发生,控件的事件是按一定的顺序发生的,你可以在顺序发生的事件中去设置你要的信息,但是要做到某个功能的实现应该关注的是BLL层的类. 一切的编程规则尽在BLL的类中实现.比如对GridView的编辑数据验证(查看数据库中是否已经存在我们要输入的数据),我开始的想法是按照ObjectDataSource的事件执行顺序去设置(在检索到数据库中已经存在要输入的数据时将GridView的数据源设置为空,原来是ObjectDataSource,这样一来就破会了数据的绑定,对GridView内部控件的绑定也会有影响,达到目的后还要重新设置回来),后来发现在BLL中重新创建一个方法来的更简单.
2.在做网站的过程中,发现三层模式要对每张表去做一个Adatper和DataTable,而且如果需要是不同表中进行操作的话很困难,这让我很迷惑,是否是我还没有找到合适的方法?
3.Scott的教程中,对更新,删除,检索数据都有明显的控制,体现在BLL层的类方法中,不是单纯的直接调用.值得学习.
2.在做网站的过程中,发现三层模式要对每张表去做一个Adatper和DataTable,而且如果需要是不同表中进行操作的话很困难,这让我很迷惑,是否是我还没有找到合适的方法?
3.Scott的教程中,对更新,删除,检索数据都有明显的控制,体现在BLL层的类方法中,不是单纯的直接调用.值得学习.
1 [System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, false)]
2 public bool AddProductByStockNO(string BoardName, string LastModify, string StockNO, string BoardType)
3 {
4 using (bar.BoardDispDataTable BoardDisps1 = Adapter.GetBoardDispByStockNO(StockNO))
5 {
6 if (BoardDisps1.Count > 0)
7 {
8 AllProperty.IsUpdated = false;
9 return false;
10 }
11 }
12 bar.BoardDispDataTable BoardDisps = new bar.BoardDispDataTable();
13 bar.BoardDispRow BoardDisp = BoardDisps.NewBoardDispRow();
14 BoardDisp.BoardName = BoardName;
15 BoardDisp.LastModify = DateTime.Now;
16 BoardDisp.StockNO = StockNO;
17 BoardDisp.BoardType = BoardType;
18 BoardDisps.AddBoardDispRow(BoardDisp);
19 int rowsAffected = Adapter.Update(BoardDisps);
20 AllProperty.IsUpdated = true;
21 return rowsAffected == 1;
22 }
2 public bool AddProductByStockNO(string BoardName, string LastModify, string StockNO, string BoardType)
3 {
4 using (bar.BoardDispDataTable BoardDisps1 = Adapter.GetBoardDispByStockNO(StockNO))
5 {
6 if (BoardDisps1.Count > 0)
7 {
8 AllProperty.IsUpdated = false;
9 return false;
10 }
11 }
12 bar.BoardDispDataTable BoardDisps = new bar.BoardDispDataTable();
13 bar.BoardDispRow BoardDisp = BoardDisps.NewBoardDispRow();
14 BoardDisp.BoardName = BoardName;
15 BoardDisp.LastModify = DateTime.Now;
16 BoardDisp.StockNO = StockNO;
17 BoardDisp.BoardType = BoardType;
18 BoardDisps.AddBoardDispRow(BoardDisp);
19 int rowsAffected = Adapter.Update(BoardDisps);
20 AllProperty.IsUpdated = true;
21 return rowsAffected == 1;
22 }