Как выполнить запрос ALTER TABLE? - PullRequest
2 голосов
/ 24 октября 2010

У меня есть таблица SQL с именем tbl, я пытаюсь добавить к ней столбцы A, B и C.

Когда я выполняю команду:

String addcolumns = "ALTER TABLE SqlCreatedTbl ADD  A char(50) ;";
                        ......
             cmd = new SqlCommand(addcolumns, conn);
             conn.Open();
             cmd.ExecuteNonQuery();

Столбец добавляется!

Однако, когда я пытаюсь добавить несколько столбцов, это НЕ работает, это выдает мне ошибку .. Команда im write для добавления нескольких столбцов выглядит следующим образом:

addcolumns = "ALTER TABLE SqlCreatedTbl ADD  ( A char(50),  B char(50), C char(50) );";

theотладчик выделяет строку: cmd.ExecuteNonQuery(); и выдает следующее исключение:

Сведения об исключении: System.Data.SqlClient.SqlException: неверный синтаксис рядом с '('.

Ответы [ 2 ]

4 голосов
/ 24 октября 2010

Избавьтесь от скобок, которые вы добавили в предложении ADD. У вас их нет в версии с одним столбцом, и вам также не нужны их с несколькими столбцами. Укажите ADD один раз, а затем просто разделите запятую свой список

2 голосов
/ 24 октября 2010

Если вы взаимодействуете с базой данных SQL Server (используя T-SQL), вы не должны ставить скобки вокруг списка определений столбцов даже при добавлении нескольких столбцов:

ALTER TABLE SqlCreatedTbl ADD A char(50), B char(50), C char(50);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...