Могу ли я использовать параметр несколько раз в одном запросе? - PullRequest
4 голосов
/ 08 июня 2010

Мне было интересно, можно ли использовать параметр более одного раза в одном и том же запросе, например:

MySqlParameter oPar0 = new MySqlParameter("e164", MySqlDbType.String);
oPar0.Value = user.E164;
string sSQL0 = "Delete from callmone.call where (caller=?e164 or called=?e164);";
clsDatabase.ExecuteSQL(sSQL0, oPar0);

Возможно ли это или я должен написать 2 параметра?

Ответы [ 2 ]

4 голосов
/ 08 июня 2010

Если драйвер базы данных обрабатывает именованные параметры, то вы можете повторно использовать параметр.

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

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

2 голосов
/ 08 июня 2010

Я не знаю ни одной причины, почему вы не можете этого сделать.

...