ConnectionString属性

ConnectionString属性

我的连接字符串,我的数据库以及所有内容都可以正常工作,但是只是在页面上一次调用它时。

我有几种方法可以连接到数据库并向我返回一个值,这是我第一次需要使用两种方法。我在conn.Open()中遇到此错误:

“ ConnectionString属性尚未初始化。”
“描述:在执行当前Web请求的过程中发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中起源的更多信息。”

异常详细信息:System.InvalidOperationException:ConnectionString属性尚未初始化。

当我打电话时,只有一个工作得很好。

我从这两种方法中得到的是,我为每个人使用几乎相同的代码,只是更改了表名:

public DataTable Category(){
        sda = new SqlDataAdapter("select * from tbl_category", conn);
        sda.Fill(dt);
        return dt;
}




public int CategoryLastId(){
    using (conn){
       conn.Open();
       sqlCommand = new SqlCommand("SELECT MAX(Id) AS LastID FROM tbl_category", conn);
       sqlCommand.ExecuteNonQuery();
       Int32 newId = (Int32)sqlCommand.ExecuteScalar();
       conn.Close();
       return Convert.ToInt32(newId);
   }
}


感觉像他们在发生冲突(也可以通过NHibernate调用.Get,但这也很好用)

最佳答案

问题是using语句返回时将关闭连接。

在using语句内创建SqlConnection,如下所示:

  using (SqlConnection conn = new SqlConnection(connString)) { ... }


为了从配置文件中获取连接字符串:

  connString = ConfigurationManager.ConnectionStrings["yourConnString"].ConnectionString;


配置文件:

   <connectionStrings>
      <add name="yourConnString" connectionString="..." providerName="..."/>
   </connectionStrings>

关于c# - “使用”后尚未初始化ConnectionString属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31420160/

10-09 00:34