这个问题我找了好几天了,就是不知道什么问题,求助!
        string connectString;
        SqlConnection connection;        public void DataBase()
        {
            this.connectString = ConfigurationSettings.AppSettings["conn"];
        }
        public void Open()
        {
            if (this.connection == null)
            {
                //this.connection = new SqlConnection(this.connectString);//建立一个连接
                //this.connection.Open();
                this.connection = new SqlConnection(this.connectString);
                this.connection.Open();
            }
            if (this.connection.State.Equals(ConnectionState.Closed))//如果连接状态是关闭的
            {
                this.connection.Open();
            }        }        public void Close()
        {
            if (this.connection != null)//如果连接存在
            {
                this.connection.Close();
            }        }
        public SqlConnection GetConnection()
        {
            this.Open();
            return connection;
        }
以上是database类代码,下面config
 <appSettings>    <add key="conn" value="server=.;database=sblog;uid=sa;pwd=;"/>  </appSettings>
哪出问题了

解决方案 »

  1.   

    this.connectString = ConfigurationSettings.AppSettings["conn"];
       获到值了吗??你放个断点不就知道了吗????
      

  2.   


    public void DataBase()
    {
        this.connectString = ConfigurationSettings.AppSettings["conn"];
    }这一句在哪里执行了?
      

  3.   


    private string GetConnectionString()
    {
        return ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
    }
    this.connection = new SqlConnection(GetConnectionString());
    this.connection.Open();
      

  4.   


    //.cs文件中利用
    string strConn = ConfigurationManager.AppSettings["ConnString"];
    //来读取,值得注意的是:这个是Asp.net2.0的读取方式,1.1中是
    string strConn=ConfigurationSettings.AppSettings["ConnString"]; 
      

  5.   


    public void DataBase()
    {
      this.connectString = ConfigurationSettings.AppSettings["conn"];
    }这个方法应该没执行吧,然后
    string connectString;
    没有值
    如果
    string connectString="";
    应该不会报这种错误
      

  6.   

    注意看看,是不是存在在调用Open()方法之前没有调用过这个方法DataBase()的情况
      

  7.   

    ConnectionString 属性尚未初始化   这样的问题,是web.config里面的配置的问题
    你仔细看看你的web.config<connectionStrings>
        <add name="EMSDataBaseConnectionString1" connectionString="Data Source=.;Initial Catalog=EMSDataBase;Persist Security Info=True;User ID=sa;Password=sa"/>
    </connectionStrings>可能是因为你的name属性没写。所以导致ConnectionString 属性尚未初始化
    或者是
    public void DataBase()
    {
      this.connectString = ConfigurationSettings.AppSettings["conn"];
    }
    你代码中的conn与name属性里面的值不相同。
    LZ 仔细找找。
      

  8.   

    public void DataBase()
    {
      this.connectString = ConfigurationSettings.AppSettings["conn"];
    }
    这个方法没执行啊
      

  9.   

    问题应该不是出在这边,而是出在你要进行执行sql语句的命令上,比如说SqlCommand cmd=new SqlCommand(sql);这样子没有和连接字符串关系在一起的,你得这样子SqlCommand cmd=new SqlCommand(sql,cn);或者设定属性,cmd.ConnectionString=
      

  10.   

    很明显  DataBase() 这个方法没有执行。
      

  11.   

    LS的说的对DataBase() 没执行...
      

  12.   

    <appSettings>  <add key="conn" value="server=.;database=sblog;uid=sa;pwd=;"/>  </appSettings>
    -----改成<appSettings>  <add name="conn" value="server=.;database=sblog;uid=sa;pwd=;"/>  </appSettings>
      

  13.   

    试试
     public void DataBase()
      {
      this.connectString = ConfigurationSettings.AppSettings["conn"].connectionString;
      }
      

  14.   

    确保执行这个奇怪的open 之前,取得connectionstring的值,即执行那个奇怪的DataBase()
    方法
      

  15.   

    ConfigurationSettings.AppSettings["conn"].connectionString;