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. }  

    最后预览页面,即可看到读取出来了。。。。
  • 相关阅读:
    hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound
    css-画三角箭头
    tomcat提示警告: An attempt was made to authenticate the locked user"tomcat"
    liunx下tomcat启动 Cannot find ./catalina.sh
    java:提示Could not initialize class sun.awt.X11GraphicsEnvironment
    MySQL定时器开启、调用实现代码
    mysql-存储过程案例-存储过程中创建表和修改表数据
    PowerDesigner导出SQL时自动生成注释
    mysql-利润set变量模拟分组查询每组中的第N条数据
    HTTP 405 错误 – 方法不被允许 (Method not allowed)
  • 原文地址:https://www.cnblogs.com/wantingqiang/p/1401447.html
Copyright © 2011-2022 走看看