2015-06-22 7 views
0

Если бы у меня был запрос на выбор ниже, используемый в OracleCommand, мне нужно было бы добавить параметр дважды для Col3?OracleCommand.Parameters - тот же самый параметр используется несколько раз

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 используется в обеих частях Союза

Мне нужно добавить параметр в два раза делать, или может повторно использовать команду оракул то же значение?

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 

Я еще не смог найти надежный ответ.

ответ

0

Вам нужно только указать параметр один раз, так как он имеет такое же имя параметра (:Col3). Объект OracleCommand автоматически будет предоставлять одно и то же значение обоим/всем экземплярам параметра.

Если вы хотите, чтобы в вашем примере были разные значения, по одному для каждого объединения, вам нужно было бы использовать/поставлять два параметра с разными именами.

Кроме того, в приведенном выше примере вам необходимо использовать cmd.Parameters.AddWithValue(":Col3", "value"). Просто используя cmd.Parameters.Add() ожидает имя параметра и тип значения, вам все равно нужно установить значение.

0

Нет, не нужно поставить параметры дважды, потому что вы используете -

cmd.BindByName = True 
Смежные вопросы