2016-07-27 2 views
0

Извиняется, если это было задано раньше, но я не был уверен, даже как искать это.Добавление столбца в базовый оператор выбора SQL

Я использую VB для кода за & хочу, я пытаюсь выяснить это;

У меня есть определенный SqlCommand:

Dim cmd As New SqlCommand("Select [Field1], [Field2], [Field3] From [Table] Where [FieldX] = @parameter ") 

Как я могу добавить еще одно поле с помощью кода с изменением базы SqlCommand отказа?

Так что темп SqlCommand будет выглядеть следующим образом:

Dim cmd As New SqlCommand("Select [Field1], [Field2], [Field3] [Field4 Added Dynamically] From [Table] Where [FieldX] = @parameter ") 

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

MC

+0

вы можете редактировать CommandText свойство – JamieD77

+0

Вы имеете в виду четвёртой колонке вам нужно определяется во время выполнения? В этом случае вы можете иметь переменную 'Field4' и присваивать ей имя столбца. В вашей команде SQL просто соедините эту переменную соответствующим образом. – rgoliveira

ответ

1

Это вы что искали?

Dim DynamicField = "FieldToAdd" 
Dim cmd As New SqlCommand("Select [Field1], [Field2], [Field3], " + DynamicField + " From [Table] Where [FieldX] = @parameter ") 

Я не помню точный синтаксис VB, но вы можете использовать заменить:

Dim DynamicField = "FieldToAdd" 
Dim Sql = "Select [Field1], [Field2], [Field3], ##DynamicField## From [Table] Where [FieldX] = @parameter " 
Sql = Sql.Replace("##DynamicField##", DynamicField) 
Dim cmd As New SqlCommand(Sql) 
+0

OMG !! Сладкий это именно то, что я ищу! Благодаря!! – mbcharney

+0

Off the wall Вопрос: Если у меня есть SqlCommand, сохраненный как строка, вы можете как-то динамически добавить поле в строку. Я только спрашиваю об этом, потому что я уже слышу, как мой босс спрашивает об этом ... – mbcharney

+0

Я обновлю свой ответ. –