在使用"之后,ConnectionString属性还没有初始化
本文关键字:ConnectionString 属性 还没有 初始化 之后 quot | 更新日期: 2023-09-27 18:02:39
我的连接字符串,我的数据库,一切都工作得很好,但只是当我在我的页面调用它一次。
我有几个方法连接到我的数据库并返回一个值给我,我第一次需要使用其中的两个。我在conn.Open()
中得到这个错误:
" ConnectionString属性尚未初始化。"描述:在执行当前web请求期间发生了未处理的异常。请查看堆栈跟踪以获得有关错误及其在代码中的起源位置的更多信息。"
Exception Details: 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);
}
}
感觉他们在冲突(同样,调用。get与NHibernate,但这也工作得很好)
问题是using
语句返回时正在关闭连接。
在using语句中创建SqlConnection
:
using (SqlConnection conn = new SqlConnection(connString)) { ... }
从配置文件中获取连接字符串:
connString = ConfigurationManager.ConnectionStrings["yourConnString"].ConnectionString;
配置文件:
<connectionStrings>
<add name="yourConnString" connectionString="..." providerName="..."/>
</connectionStrings>
更改使用语句,如下所示。有关更多连接字符串,请参考此链接。
using (SqlConnection conn = new SqlConnection("Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"))