C# 这里的数据库连接呼叫是否关闭?
我得到了这个密码:C# 这里的数据库连接呼叫是否关闭?,c#,.net,database-connection,using-statement,devart,C#,.net,Database Connection,Using Statement,Devart,我得到了这个密码: try { using (OracleConnection c = new OracleConnection(globalDict[byAlias(connAlias)].connString)) { c.Open(); using (OracleCommand recordExistentQuery = new OracleCommand("regular.IsExistent", c)) {
try
{
using (OracleConnection c = new OracleConnection(globalDict[byAlias(connAlias)].connString))
{
c.Open();
using (OracleCommand recordExistentQuery = new OracleCommand("regular.IsExistent", c))
{
// here working on oraclecommand
}
}
} catch(Exception exc) { }
是用于Oracle的devArt dotConnect类。
当退出
(OracleConnection c=neworacleconnection(globalDict[byAlias(connalas)].connString)){..时,此代码是否会调用c.Close()
?否,它将调用Dipose()
。using
块将对using
语句中指定的对象隐式调用Dispose()
但对于数据库连接,通常情况下,Dispose()
处理Close()
功能,释放保持连接的连接/processId。我还想在//此处使用oraclecommand
时添加这一点(基本上是在内部使用(…){}
语句,Dispose()
也将被调用
根据设计,您应该能够对实现IDisposable
的对象进行多个to调用
在之后,使用
代码块将什么也不做,因为连接已经关闭/返回到池中。清理对象后的任何其他调用都应该返回,什么也不做