我使用 C# 并实例化 aDbCommand
以执行 Oracle 存储过程。
我的问题是:为什么该过程通过与 db 中的 on 不同的命名参数接收值?
当我将参数添加到dbCommand
:
...
string value = "Whatever"
db.AddInParameter(dbCommand,"WrongParamName",DbType.String);
db.SetParameterValue(dbCommand, "WrongParamName", value);
我执行:
dataSet = db.ExecuteDataSet(dbCommand);
它将dbCommand
参数正确地传递给存储过程参数。
这是为什么?
它将值设置为没有值的第一个参数还是基于位置?
如果它基于位置,为什么我们需要名称?
名称只是为了帮助开发人员理解代码吗?