向Command Vs Adapter添加参数

时间:2018-05-21 16:19:31

标签: c# sql oracle ado.net

我很好奇是否存在差异,如果在向OracleCommand添加参数然后将其添加到OracleDataAdapter或直接将其添加到OracleDataAdapter之间是否存在差异? / p>

例如,

将它们添加到OracleCommand,然后将它们与OracleDataAdpater

相关联
string f= "foo";
string sql = "SELECT @c FROM Dual";

using(OracleCommand command = new OracleCommand(sql, this.Connection))
{
    OracleParameter param = new OracleParameter("@c", f);
    command.Parameters.Add(param);
    OracleDataAdapter adapter = new OracleDataAdapter(command);
    adapter.SelectCommand = command;
    DataSet dataset = new DataSet();
    adapter.Fill(dataset);
    return dataset;
}

将它们直接添加到OracleDataAdapter

string f= "foo";
string sql = "SELECT @c CalcVarValue FROM Dual";
using(OracleCommand command = new OracleCommand(sql, this.Connection))
{
    OracleDataAdapter adapter = new OracleDataAdapter(command);
    adapter.SelectCommand.Parameters.Add(new OracleParameter("@c", f));
    DataSet dataset = new DataSet();
    adapter.Fill(dataset);
    return dataset;
}

一种方式比另一种方式更受欢迎吗?与其他方法相比,在执行中直接加快OracleDataAdapter吗?

1 个答案:

答案 0 :(得分:1)

没有任何区别。在这两种情况下,参数都会添加到OracleCommand

在这两种编码风格之间进行选择取决于个人偏好,您必须遵守的编码惯例(如果存在)以及大多数意见。

就个人而言,我倾向于使用尽可能短的代码,从你编写代码的那一年开始,你仍然可以阅读它,并且无需考虑它就能理解它的作用,或者像曾经有人写过的那样(我认为它是在Meta.SE) - 在这个行业中,您应该尽可能简单地编写代码,因为在您之后接管项目的人很可能是白痴。