[研究][ASP.NET]ExecuteNonQuery 必須有開啟與可用的 Connection。連接目前的狀態已關閉。
2023-05-04
環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C#
********************************************************************************
********************************************************************************
'/' 應用程式中發生伺服器錯誤。
ExecuteNonQuery 必須有開啟與可用的 Connection。連接目前的狀態已關閉。
描述: 在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外狀況詳細資訊: System.InvalidOperationException: ExecuteNonQuery 必須有開啟與可用的 Connection。連接目前的狀態已關閉。
********************************************************************************
下面 command2.ExecuteNonQuery(); 出現錯誤 ExecuteNonQuery 必須有開啟與可用的 Connection。連接目前的狀態已關閉。 請問該如何修正?
using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) SqlCommand command = new SqlCommand(queryString, connection); try { connection.Open(); int counts = (Int32)command.ExecuteScalar(); string queryString2 = @"UPDATE table1 SET Field1=1 WHERE SN=2"; using (SqlConnection connection2 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) { SqlCommand command2 = new SqlCommand(queryString2, connection2); command2.ExecuteNonQuery(); } } } catch (Exception) { throw; } |
修正如下
using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
connection.Open();
int counts = (Int32)command.ExecuteScalar();
string queryString2 = @"UPDATE table1 SET Field1=1 WHERE SN=2";
using (SqlConnection connection2 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
connection2.Open(); // 加入此行
SqlCommand command2 = new SqlCommand(queryString2, connection2);
command2.ExecuteNonQuery();
}
}
catch (Exception)
{
throw;
}
}
|
(完)
相關
沒有留言:
張貼留言