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

时间:2015-06-22 16:13:20

标签: .net vb.net oracle parameters

如果我在OracleCommand中使用了以下选择查询,我是否需要为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

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

2 个答案:

答案 0 :(得分:1)

您只需提供一次参数,因为它具有相同的参数名称(array.push(...array); )。 OracleCommand对象将自动为参数的两个/所有实例提供相同的值。

如果你想在你的例子中使用不同的值,每个联合一个值,你将不得不使用/提供两个不同名称的参数。

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

答案 1 :(得分:1)

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

<p><?php echo $product['description']; ?></p>