请教一下:
1.DBhelper 类,要写在哪一层呢?.DAL层吗?找源代码就好是吗?
2.连接数据库怎么做呢?数据库也要引进到三层架构里吗?连接字符串是在web.config里写吗?
3.照着网上做的,做不下去了,出现了如下错误:
错误 1 当前上下文中不存在名称“DBHelper” F:\我的资料\MyBookShop\MyBookShop.DAL\Class1.cs 19 43 MyBookShop.DAL
错误 2 未能找到元数据文件“F:\我的资料\MyBookShop\MyBookShop.DAL\bin\Debug\MyBookShop.DAL.dll” MyBookShop.BLL
错误 3 命名空间“MyBookShop”中不存在类型或命名空间名称“BLL”(是否缺少程序集引用?) F:\我的资料\MyBookShop\Web\Login.apx.cs 15 18 F:\...\Web\希望各位可以帮一下啊,还没有入门,希望各位能够不吝赐教,在此谢过啊!
 

解决方案 »

  1.   

    DBhelper 类还是不要放在三层中了 再单独拉出来个公用的commn类库 放在里面
      

  2.   

    2 没错 是写在web.config中 觉得不安全还可以给字符串加个密
      

  3.   

    额后几个问题不知道怎么回答 你还是调试一个简单的吧 调试成功后慢慢改成你现在的样子http://www.cnblogs.com/liushuijinger/archive/2012/03/12/2391191.html只是winform的实例 弄好了以后 把UI层换成web方式的即可。 祝你好运!
      

  4.   

    1.DBhelper 类,要写在哪一层呢?.DAL层吗?找源代码就好是吗?
    可以放在DAL层,或是单独建立一个BaseClass类库项目亦可。2.连接数据库怎么做呢?数据库也要引进到三层架构里吗?连接字符串是在web.config里写吗?
    数据库连接字符串放在你的Webs应用项目的Web.Config文件中即可。3.照着网上做的,做不下去了,出现了如下错误:
    错误 1 当前上下文中不存在名称“DBHelper” F:\我的资料\MyBookShop\MyBookShop.DAL\Class1.cs 19 43 MyBookShop.DAL
    错误 2 未能找到元数据文件“F:\我的资料\MyBookShop\MyBookShop.DAL\bin\Debug\MyBookShop.DAL.dll” MyBookShop.BLL
    错误 3 命名空间“MyBookShop”中不存在类型或命名空间名称“BLL”(是否缺少程序集引用?) F:\我的资料\MyBookShop\Web\Login.apx.cs 15 18 F:\...\Web\需要添加DBHelper的完整命名空间,如果和你当前的命名空间不一致的话
    其他的项目要注意添加引用顺序。编译 Model层,然后在编译DAL层时,选择DAL层,右键选择添加项目引用,选择刚才的Model生成的dll。
    在编译BLL时,选择BLL层,右键选择添加项目引用,选择之前的DAL层的dll。
    然后再Web中直接编译即可,如果发现不了其他2层的话,和上面同样操作,右键Web,添加引用,选择项目引用,然后将Model、DAL、、BLL、的dll都添加进来即可。
      

  5.   

    DBhelper可以做成一个类库直接引用。属于DAL层。
    连接字符串如果是ASP.NET,SL放在web.config里,如果是WINFORM,WPF放在app.config里
      

  6.   

    我问的问题可能不大准确,先见谅~
    右键添加引用,和在.cs中用using都是必须的,是吗?比如在.BLL中添加using .DAL; using .Models;
      

  7.   

    是的,如果你用到了那个类库,右键添加引用和用using引入命名空间都是必须的,缺一不可,还有么?
      

  8.   

    基本的调用关系你首先要清楚, dal是最底层,它不调用任何层,所以你第一步是要调通dal层并且编译通过,  然后在此基础上写bll层,bll层是要添加引用dal层的dll的,你应该会吧最后是UI层,UI曾是调用bll层的。  当然还有个model层 也就是模型层,这个层是大家都会引用的(UI层 bll层 dll层都会引用)  至于你说的Using问题 只要你把相应dll添加进来了 代码粘贴过去 右键鼠标“解析”一下 一般就会出来 祝你好运!!
      

  9.   

    DAL-> BLL-> Web
      ↘      ↓        ↙
          Models箭头指向为被引用 
      

  10.   

    晕 上图错了,DAL BLL 和 UI层 指向Models层的箭头搞反了简而言之一句话
    UI引用bll 
    bll引用dal
    web bll dal 全引用models 
      

  11.   

    这个主要看你自己的开发风格了,我 一般就放在DAL里面。
      

  12.   

    我是把DbHelper作为单独的数据访问类。这样下一个工程你还可以拿过这个通用访问类来用。
      

  13.   

    那DBhelper 类从哪里下载着,网上的就都可以吗?
      

  14.   

    DBhelper 不过是一个减少重复输入连接数据库代码的助手而已,你不写也没关系,大不了dal层多写几行代码。关键是如果你的三层是DAL-> BLL-> Web,那么本身意义就不大,写web的人等着写bll类库的人先完成,写bll的人等着写dal的人完成,结果还是要先dal写好,然后bll写好,然后web写好。你需要考虑依赖倒置,让这三个模块可能同时写,引入接口和工厂的概念,这样才能实现真正意义上的三层,并且可以随时切换其中的任何一层。
      

  15.   

    感觉楼主犯了新手最容易出的问题,引用命名空间出现了串联,可能你的类在DAL中但是你用的是BLL的空间,2个空间中都存在一样的类名