У меня есть веб-система .Net с интерфейсом VB.Net, взаимодействующим с интерфейсом SQL Server 2005 через ADO.Net. По сути, я хочу сделать следующее:
Dim command As SqlCommand = New SqlCommand("", connection)
command.CommandText = "SELECT * FROM someTable ORDER BY orderValue @SortOrder"
Dim sortParam As SqlParameter = New SqlParameter("@SortOrder", SqlDbType.varChar, 3)
sortParam.Value = "ASC"
command.Parameters.Add(sortParam)
command.Prepare()
reader = command.ExecuteReader()
Где порядок сортировки будет передаваться через строку запроса или что-то подобное. Этот код выдает «Неверный синтаксис рядом с @SortOrder. Оператор (ы) не может быть подготовлен».
Возможно ли это вообще, или у меня действительно какая-то глупая синтаксическая ошибка, которую я не вижу?
(И да, клиент работает только на .net 2.0, поэтому решения на основе LINQ, к сожалению, работать не будут.
Спасибо всем!
Обновление / Ответ:
Ну, я так и думал. Спасибо всем за проверку вменяемости. (Для некоторого контекста командная строка в настоящее время строится динамически, но мы перемещаем систему в более подготовленном направлении оператора, и это был один из крайних случаев, которые я не знал, был возможен.
Еще раз спасибо!