如何将方法传递给开放的SQL连接

时间:2014-03-23 07:48:04

标签: c# using sqlconnection

我想在Sql Connection中执行方法。我想使用C#“using”对象,因为它使连接安全。

我想以这种方式执行查询的原因是我可以重用此连接并在单独的类/位置中构建查询。

class foo 
{  

 public void connectionMethod()  
    {  
        using(SqlConnection aConnection=new SqlConnection('ConnectionString')  
        {
            //Query here.
        }  
    }  
}  

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在您要在其中构建查询的类中,声明每个方法以接受SqlConnection参数。

// query method
public void SomeQuery(SqlConnection connection)
{
    ...
}


// use it
using(SqlConnection aConnection=new SqlConnection('ConnectionString')  
{
     aConnection.Open();
     otherClass.SomeQuery(aConnection);
}   

传递参数将创建对SqlConnection对象的引用的副本,该副本将在被调用方法的范围内。尽管如此,请确保您不要将其泄漏到方法之外。