菜鸟学PetShop一

原创 2007年10月11日 10:02:00

  category

BLL中声明了一个ICATEGORY对象,
private static readonly ICategory dal = PetShop.DALFactory.DataAccess.CreateCategory();
声明了一个实例,调用的是DALFactory中的CreateCategory()方法。
然后下面用了泛形的方法。
public IList<CategoryInfo> GetCategories() {
            return dal.GetCategories();
        }
将类型转化为CategoryInfo类型的方法。
而dal实际上是哪个类的实例呢,就得看createCategory()
定义如下:
public static PetShop.IDAL.ICategory CreateCategory() {
            string className = path + ".Category";
            return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
        }
(PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);这句话据说是利用反射创建了一个实例。
而path是什么呢。找一下web.config就可以了。
private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
找一下WEBDAL就可以了。
<addkey="WebDAL"value="PetShop.SQLServerDAL"/>
所以path就得出来了,看className的值吧。
className=PetShop.SQLServerDAL.Category
于是 return dal.GetCategories();这句话返回的是className的实例,而方法就是这个类中的方法,并把返回类型转化为<CategoryInfo>类型。细看一下这个类下面的这个方法的定义。
  public IList<CategoryInfo> GetCategories() {
           IList<CategoryInfo> categories = new List<CategoryInfo>();
            //Execute a query to read the categories
using(SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CATEGORIES, null)) {
                while (rdr.Read()) {
                    CategoryInfo cat = new CategoryInfo(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2));
                    categories.Add(cat);
                }
            } 
            return categories;
        }
这个里面又牵涉到了SqlHelper的内容,
SqlHelper位于Dbutility中用来对数据库进行操作,先看一下SqlHelper.ConnectionStringLocalTransaction的内容是什么,肯定是一个静态的变量public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["SQLConnString1"].ConnectionString;可见又是放在web.config中间了,找找看,只找到这么一句并没有找到连接字符串。<addname="MSPetShop4"connectionStringName="SQLConnString1"pollTime="10000"/>再找找
<add name="SQLConnString1" connectionString="server=.;database=MSPetShop4;user id=mspetshop;password=pass@word1;min pool size=4;max pool size=4;"
   providerName="System.Data.SqlClient" />
找到了,操作是数据库MSPetShop4原来微软还把web.config给加密了,不过也提供了一个解密工具,DecryptWebConfig.bat,于是一切都明了了。SQL_SELECT_CATEGORIES是声明的一个字符串常量,private const string SQL_SELECT_CATEGORIES = "SELECT CategoryId, Name, Descn FROM Category";
一切又来到了return dal.GetCategories();再看看外面如何与BLL联系吧。
在NavigationControl.ascx自定义控件中绑定了category方法如下:
  private void BindCategories() {
            Category category = new Category();
            repCategories.DataSource = category.GetCategories();
            repCategories.DataBind();           
        }
于是总算完了绑定种类到repeater控件上。这里面共牵涉到几个项目如下:
BLL,SQLserverDAL,DButility,Model,IDAL,DALFACTORY

菜鸟学linux之一初识了解Linux系统

一、图形界面与命令行界面切换 Linux预设提供了六个命令窗口终端机让我们来登录。默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,您可以按下Ctrl...
  • u012908515
  • u012908515
  • 2016-06-03 13:42:48
  • 172

Java小程序——petshop

《Java小程序——petshop》   1.描述:刚学Java写的小程序,用到类的封装,使用。 2.工具:eclipse.exe 3.功能:吃,玩。 /******************...
  • Ivan804638781
  • Ivan804638781
  • 2016-09-07 11:50:17
  • 436

和菜鸟一起学linux内核源码之启动篇

又是一个周末,日子过得比较散,虽然期间也有不断地看书学习,总觉得有点小盲目。想想毕业也快要1年了,从事嵌入式linux的研发工作也1年多了。这1年多的从实习到正式工作到现在的自己,进步有,也很大,但是...
  • eastmoon502136
  • eastmoon502136
  • 2013-03-23 16:05:37
  • 2634

菜鸟学PetShop系列2

    今天接着研究Default.aspx的自定义控件,先看NavBarNoMenu.ascx,打开控件页,进入html页面,看到这样一段代码:SIGN OUT...SIGN IN。这里的标签有什么...
  • lovebot0313
  • lovebot0313
  • 2006-08-11 14:33:00
  • 522

菜鸟学PetShop系列1

     打开源程序后不管那么多,先运行一下。点击“运行”按钮,出现错误“无法在Web服务器上启动调试,未将项目配置为进行调试”,在baidu上随便搜了一下,找到解决办法:办法一,把Web.confi...
  • lovebot0313
  • lovebot0313
  • 2006-08-10 15:17:00
  • 543

读《数据说服力:菜鸟学数据分析》

做了几页纸的笔记。这本书是数据分析的书,只分析 excel 中的数据,重点用 excel 做图表的展示。 写了几个计算机程序的展示库。但只是几行的介绍。 所以不要想多了。...
  • wide288
  • wide288
  • 2017-11-30 09:33:18
  • 120

一个在黑客界引起轰动的菜鸟教材---跟我学编程系列

  一个在黑客界引起轰动的菜鸟教材---跟我学编程系列 跟我学编程系列    原黑白新区记忆碎片的帖子!转贴上来,供大家学习!!!     发现大部分黑白的朋友都不会编程, 这可不是件好事, 所以这次...
  • t0nsha
  • t0nsha
  • 2007-03-20 21:34:00
  • 2441

c语言的双链表,菜鸟必学

  • 2014年10月12日 21:15
  • 1KB
  • 下载

PetShop5.0官网源代码下载

转 http://www.52rs.net/ArticleView.aspx?gID=b96c547b-e93b-47f4-b694-279f27566aff 基于.NET Framework ...
  • huanglei0809
  • huanglei0809
  • 2013-09-30 01:32:10
  • 2428

你真的了解分层架构吗?——写给被PetShop"毒害"的朋友们

一叶障目 .NET平台上的分层架构(很多朋友称其为“三层架构”),似乎是一个长盛不衰的话题。经常看到许多朋友对其进行分析、探讨、辩论甚至是抨击。笔者在仔细阅读了大量这方面文章后,认为许多朋友在分层架...
  • wgz_wlky
  • wgz_wlky
  • 2016-04-01 01:19:37
  • 711
收藏助手
不良信息举报
您举报文章:菜鸟学PetShop一
举报原因:
原因补充:

(最多只允许输入30个字)