Нужно ли добавлять префикс имени параметра sql со знаком @ при добавлении SqlParameters в коллекцию?

В VB.NET мы добавляем параметры sql без знака @, и приложение работает нормально:

cmd.Parameters.Add("in_id", SqlDbType.Int).Direction = ParameterDirection.Input

На этой странице указано, что синтаксис заполнителей параметров зависит от источника данных и System.Data.SqlClient использует именованные параметры в формате @parametername.

Мы переносим код из Oracle, и на той же странице говорится, что для System.Data.OracleClient используются именованные параметры в формате :parmname (or parmname), что означает, что двоеточие не требуется.

На странице явно не указано, что параметры без знака @ подходят для Data.SqlClient.

Требуется ли знак @ перед именем параметра (входного или выходного параметра) при использовании Data.SqlClient?


person Only You    schedule 22.02.2013    source источник
comment
Похоже, вы уже ответили на свой вопрос: ...приложение работает нормально.   -  person Nick Vaccaro    schedule 23.02.2013
comment
Да, отлично работает в нашей тестовой среде. Я пытаюсь убедиться, прежде чем отправлять кучу кода в производство, только чтобы потом узнать, что это проблема.   -  person Only You    schedule 23.02.2013
comment
Я думаю, что это интересный вопрос, поскольку я нигде не могу найти в документации MSDN, где говорится, что он официально поддерживает его или рекомендуется использовать его таким образом. Лично я хотел бы, чтобы все поставщики БД работали таким образом, поскольку это сделало бы их более взаимозаменяемыми, но похоже, что все их примеры подразумевают, что вы должны ставить имена параметров с префиксом @.   -  person Steven Doggart    schedule 23.02.2013
comment
@StevenDoggart: Да, эта функция не задокументирована. Однако, если бы вы могли положиться на это, это было бы задокументировано.   -  person Tim Schmelter    schedule 23.02.2013
comment
Спасибо всем за комментарии и ссылку на ответ. Прочтите этот другой вопрос, и да, лучше вручную добавить к имени параметра знак @.   -  person Only You    schedule 23.02.2013
comment
Как отдельная тема, это расстраивает, если вы не найдете этот другой вопрос / ответ с помощью окна поиска; Я пробовал около 15 минут с разными наборами ключевых слов. Даже результаты, которые вы получаете, когда решите ввести вопрос, используя те же ключевые слова, которые использовались в исходном поиске, отличаются, даже этот вопрос, на который есть ссылка, тогда не отображался. Это только я?? Ну да, может быть, я ведь только ты.   -  person Only You    schedule 23.02.2013
comment
Я считаю, что Google гораздо более точная поисковая система для поиска материалов на этом сайте.   -  person Steven Doggart    schedule 23.02.2013
comment
Хорошо, приятно знать. Воспользуюсь этим тогда. Спасибо, Сетев.   -  person Only You    schedule 23.02.2013