gpt4 book ai didi

c# - 在 ADO.NET 中处理 "using"语句

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:49 26 4
gpt4 key购买 nike

我想在退出方法时正确处理 SqlConnection 对象。所以我使用如下所示的“using”语句。

public int Hello()
{
using(SqlConnection con=new SqlConnection(constring))
{
using(SqlCommand cmd=new SqlCommand(Query,con))
{
try
{
con.Open();
return cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
throw ex;
}
finally
{
con.Close()
}
}
}
}

现在,我想知道的是,上面的代码会不会

  1. 当 ExecuteNonQuery 中发生Exception 时正确处理连接。
  2. 确保我们不会遇到任何连接池问题
  3. 确保数据正确返回
  4. 如果 SqlConnection 发生异常,它会处理对象吗?

谁能帮我解决这个问题?

最佳答案

如果您只是想抛出它,则不需要 try/catch,只需将您的代码更改为:

public int Hello()
{
using(SqlConnection con=new SqlConnection(constring))
{
using(SqlCommand cmd=new SqlCommand(Query,con))
{
con.Open();
return cmd.ExecuteNonQuery();
}
}
}

并且无论发生什么情况,无论是否有异常,如果连接处于打开和处置状态,连接都将关闭。

关于c# - 在 ADO.NET 中处理 "using"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462707/

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