gpt4 book ai didi

c# - 我要处理我的 ODBCConnection

转载 作者:行者123 更新时间:2023-11-30 13:28:20 25 4
gpt4 key购买 nike

我正在使用这样的辅助方法:

    private OdbcCommand GetCommand(string sql)
{
string conString = "blah";
var con = new OdbcConnection(conString);
var cmd = new OdbcCommand(sql, con);
return cmd;
}

然后我这样使用它:

using (var cmd = GetCommand("select * from myTable")
{
cmd.connection.open();
using(var reader = cmd.ExecuteReader())
{
}
}

这是第二个例子:

    public static OdbcDataReader GetReader(string conString,string sql)
{
var cmd = GetCommand(conString, sql);
cmd.Connection.Open();
return cmd.ExecuteReader();
}

这样使用:

     using(var reader = GetReader("blah","select * from blah")
{
}

在这两种情况下,我是否处理了连接和 cmd 对象?我认为第一个没有处理连接,第二个没有处理连接和 cmd,对吗?

我需要走很长的路来确保正确处置,还是有更短的方法?

using (var con ...)
using (var cmd)
using (var reader)

最佳答案

简而言之,如果它有Dispose,那么你应该调用它。您不能假设另一个对象会处置您为您传递的对象。

处理命令对象不会处理连接对象,因为您可以在完成命令后再次使用连接。处理每一个是最好的方法。

关于c# - 我要处理我的 ODBCConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6216067/

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