gpt4 book ai didi

c# - 连接池

转载 作者:太空狗 更新时间:2023-10-30 00:22:03 25 4
gpt4 key购买 nike

我有以下代码,如果我在 finally 中使用 conn == null,我是否仍然使用连接池?我知道关闭连接是一个好习惯,但是如何处理整个连接对象呢?

    public void ExecuteNonQuery(SqlCommand Cmd)
{
//========== Connection ==========//
SqlConnection Conn = new SqlConnection(strConStr);

try
{
//========== Open Connection ==========//
Conn.Open();

//========== Execute Command ==========//
Cmd.Connection = Conn;
Cmd.CommandTimeout = 180;
Cmd.ExecuteNonQuery();
}
catch (Exception Exc)
{
throw Exc;
}
finally
{
//======== Closing Connection ========//
if (Conn.State == ConnectionState.Open)
{ Conn.Close(); }

//======== Disposing object ========//
Conn = null;
}
}

最佳答案

首先,考虑使用using,其次,让框架处理处置。 managed providers将根据连接字符串进行池化。

public void ExecuteNonQuery(SqlCommand Cmd) 
{
//========== Connection ==========//
using(SqlConnection Conn = new SqlConnection(strConStr))
{
//========== Open Connection ==========//
Conn.Open();

//========== Execute Command ==========//
Cmd.Connection = Conn;
Cmd.CommandTimeout = 180;
Cmd.ExecuteNonQuery();
}
}

关于c# - 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715714/

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