在C#中使用using
块进行SQL连接时,这也是一种关闭方法吗?我问我需要明确使用con.Open()
方法。我找到了这个例子:
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open(); // open method
string queryString = "select * from db";
SqlCommand cmd = new SqlCommand(queryString, con);
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
??? // What about a close method?
}
或者using
阻止关闭连接本身吗?
答案 0 :(得分:0)
你不必关闭它 - using
就足够了。 MSDN说:
要确保始终关闭连接,请打开using块内部的连接,如以下代码片段所示。这样做可确保在代码退出块时自动关闭连接。
答案 1 :(得分:0)
using
转换为:
SqlConnection con = new SqlConnection(connectionString)
try
{
con.Open(); <-- open method
string queryString = "select * from db";
SqlCommand cmd = new SqlCommand(queryString, con);
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
}
finally
{
if (con!= null)
((IDisposable)con).Dispose();
}
((IDisposable)con.Dispose();
关闭要关闭的内容。
答案 2 :(得分:0)
不,您不必调用Close
- SqlConnection
的方法。
当它在使用结束时处理时,它会自动关闭。
(Dispose
- 方法调用Close()
)[1]
答案 3 :(得分:0)
答案 4 :(得分:0)
当您使用'using'关键字并在其中创建连接时。 当到达右括号时,只要有'using'关键字的范围,连接就会打开,连接会自动关闭,因为它是在范围内定义的,并且范围不存在
换句话说,将其视为可在范围内访问的局部变量。 希望这会有所帮助。