OracleCommand.Parameters - 同一参数多次使用

OracleCommand.Parameters - Same Parameter Used Multiple Times

如果我在 OracleCommand 中使用以下 select 查询,我是否需要为 Col3 添加两次参数?

select col_1, col_2 from table_one
  where col_3 = :Col3
union
select col_1, col_2 from table_two
  where col_3 = :Col3;

:Col3在联盟双方使用

是否需要两次添加一个参数,或者oracle命令是否可以重复使用相同的值?

dim cmd As New OracleCommand()
cmd.Parameters.Add(":Col3", "My value")
cmd.Parameters.Add(":Col3", "My value") ' <-- Is this second parameter necessary?'
cmd.BindByName = True

我还没有找到可靠的答案。

您只需提供一次参数,因为它具有相同的参数名称 (:Col3)。 OracleCommand 对象将自动为参数的 both/all 个实例提供相同的值。

如果您想在示例中使用不同的值,每个联合一个,则必须 use/supply 两个具有不同名称的参数。

此外,您需要在上面的示例中使用 cmd.Parameters.AddWithValue(":Col3", "value")。简单地使用 cmd.Parameters.Add() 需要参数名称和值类型,您仍然需要设置值。

不,您不需要提供两次参数,因为您使用的是 -

cmd.BindByName = True