gpt4 book ai didi

c# - "using"后ConnectionString属性还没有初始化

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:03 24 4
gpt4 key购买 nike

我的连接字符串、我的数据库和一切都工作正常,但只是在我的页面上调用它一次。

我有几种方法可以连接到我的数据库并向我返回一个值,这是我第一次需要使用其中的两种方法。我在 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# - "using"后ConnectionString属性还没有初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31420160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com