zoukankan      html  css  js  c++  java
  • NET中使用三层构架如何从DAL层读取web.config中的数据库连接字符串!

    看了N多.NET三层的资料,可是自己还没有真的试过用三层来做个小项目,今天终于下决心,用三层做个新闻发布系统,很简单,对数据库的增删查改而已。。。
    没想到在刚刚开始的时候就碰到了麻烦,在解决方案里添加新建项目DAL后如何在DAL中的类中读取到web.config里的数据库连接字符串。。。。
    经本人多方查证和搜索,终于解决,现在方法记下:
    新建项目,如图:

    文件→添加→新建项目,如图:

    选择C#的内裤,保存位置最好是在WEB项目所有的目录,如图:

    这时解决方案管理器如图,可以把默认的类名改一下:

    前戏准备完了之后,我们就开始在web.config里写上数据库连接字符串了,下面是我的web.config的代码片段:
    Xml代码 复制代码
    1. <connectionStrings>  
    2.     <add name="connStr" connectionString="server=niunan\sqlexpress; database=newssystem; uid=sa; pwd=123456"/>  
    3. </connectionStrings>  

    我们要从DAL层中读取到web.config中的信息,得使用System.Web下的***类,可是在我们在类开关输入using System.Web.发现后面的代码自动提示点不出来,大家可以看一下解决方案管理器中DAL层的引用:

    ,发现并没有System.Web,所以之前我们的代码自动提示就出不来,接下来我们只要引出System.Web就行了,此外,经测试,还得引入System.Configuration才能读取到web.config中的信息,如图添加引用:



    添加成功后解决方案管理器如图:

    这时我们就可以使用代码智能提示引用System.Web.Configuration了,然后我们就能开始获取web.config中的内容了,下面是我写的SQLHelper.cs的代码:
    C#代码 复制代码
    1. using System;   
    2. using System.Collections.Generic;   
    3. using System.Linq;   
    4. using System.Text;   
    5. using System.Web.Configuration;   // 要引用这个命名空间   
    6.   
    7. namespace DAL   
    8. {   
    9.     public class SQLHelper   
    10.     {   
    11.         /// <summary>   
    12.         ///  测试方法,获取数据库连接字符串   
    13.         /// </summary>   
    14.         /// <returns></returns>   
    15.         public static string getConnStr()   
    16.         {   
    17.             return WebConfigurationManager.ConnectionStrings["connStr"].ToString();   
    18.         }   
    19.     }   
    20. }  

    紧接着我们就在页面上先测试一下是否成功的获取出来,同样的,在WEB项目中要使用DAL层里的东西,因为属于不同的二个项目,所以也得引用DAL,如图:


    引用后发现解决方案管理器里没啥变化,的确是没啥变化,可是的确是已经引用了DAL层了,这时就可以写代码了,以下是我的default.aspx.cs的源码,在这里只是测试一下能不能获取出来,页面上什么都没放:
    C#代码 复制代码
    1. using System;   
    2. using System.Collections.Generic;   
    3. using System.Linq;   
    4. using System.Web;   
    5. using System.Web.UI;   
    6. using System.Web.UI.WebControls;   
    7. using DAL;   // 引用DAL层,注意大小写,要与那边建立的内裤名称相对应   
    8.   
    9. public partial class _Default : System.Web.UI.Page    
    10. {   
    11.     protected void Page_Load(object sender, EventArgs e)   
    12.     {   
    13.         // 在那边我是使用了static静态方法,所以可以直接通过类名点出他的方法   
    14.         Response.Write(DAL.SQLHelper.getConnStr());   
    15.     }   
    16. }  

    最后预览页面,即可看到读取出来了。。。。
  • 相关阅读:
    Oracle SQL语句大全—查看表空间
    Class to disable copy and assign constructor
    在moss上自己总结了点小经验。。高手可以飘过 转贴
    在MOSS中直接嵌入ASP.NET Page zt
    Project Web Access 2007自定义FORM验证登录实现 zt
    SharePoint Portal Server 2003 中的单一登录 zt
    vs2008 开发 MOSS 顺序工作流
    VS2008开发MOSS工作流几个需要注意的地方
    向MOSS页面中添加服务器端代码的另外一种方式 zt
    状态机工作流的 SpecialPermissions
  • 原文地址:https://www.cnblogs.com/wantingqiang/p/1401447.html
Copyright © 2011-2022 走看看