.net 参数-多次使用同一参数

.net 参数-多次使用同一参数,.net,vb.net,oracle,parameters,.net,Vb.net,Oracle,Parameters,如果在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.

如果在
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
dim cmd作为新的OracleCommand()
cmd.Parameters.Add(“:Col3”,“我的值”)

cmd.Parameters.Add(“:Col3”,“我的值”)”您只需要提供一次参数,因为它具有相同的参数名称(
:Col3
)。OracleCommand对象将自动为参数的两个/所有实例提供相同的值

如果您希望在示例中使用不同的值,每个联合对应一个值,则必须使用/提供两个具有不同名称的参数


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

否您不需要提供两次参数,因为您正在使用-

cmd.BindByName = True