app.config中设置数据库连接
然后在类中 string connString=ConfigurationMamager.ConnectionStrings["MyConn"].ToString();用这个读取.请教大家,为什么在一层的结构中,可以读取.1.但是到了三层结构中,却读不出来了呢..就算是在同一层的数据访问层也读不出来.
2.如果是在其他层,或是表示层中想读取数据访问层的app.config,要怎么取读呢.

解决方案 »

  1.   


    http://developer.51cto.com/art/200908/146303.htm不知道你app.config里怎么写的。。
      

  2.   

    找个类库 建立一个类ConfigHelper
    using System.Configuration; public class ConfigHelper
        {
            public static string GetconnMsSql
            {
                get
                {
                    return ConfigurationManager.AppSettings["MyConn"];
                }
            }      }
      

  3.   

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <add name="MyConn"  connectionString="Data Source=.;Initial Catalog=lx;User ID=lemonyi;Password=4747272" providerName="Syetem.Data.SqlClient"/>
        </connectionStrings>
    </configuration>这个app.config在单层里面可以通过,但是多层里面,configurationManager.connectionString就读不到了.
      

  4.   

    我的意思是说..我想问一下,如果app.config在其他层,我应该怎么读取呢.比如,我想在表示层里面,用connfigurationmanager读取数据层的app.config.
      

  5.   

    在三层架构中,从配置文件中读取数据库连接字符串。
    一般情况下,在三层架构中,需要把配置文件写在表示层中
    数据库连接字符串是在数据访问层中使用的。
    那么在数据访问层需要引用System.Configurationstring connString = ConfigurationManager.ConnectionString["name"].ToString();
    另外一个,你检查一下,你的配置文件的写法是否正确。
      

  6.   

    你在DAL层中专门写一个获取数据库连接和操作的相关类,比如SQLHelper类然后在其他层,如BLL、Model层等添加DAL的引用,然后就可以直接调用了。
      

  7.   

    呵呵,谢谢大家了,好像是这样的,把app.config写在启动层中,也就是表示层问题就解决了.是不是,configurationManager只能读取启动层中的app.config呢.虽然,学习的时候,就奇怪如果不在同一层,configurationManager是怎么读取配置文件的...题外的话:如果app.config我不放在启动层,我要放在非启动层,不知道是不是有方法可以读取呢..