Как вставить новый столбец в таблицу базы данных с помощью SqlDataAdapter и DataTable?

В моей программе .NET я хочу изменить структуру таблицы базы данных, вставив новый столбец. Но я НЕ хочу делать это, выполнив команду «ALTER TABLE .....» в базе данных с помощью ADO.NET. Я хочу сделать это, добавив новый столбец в мою таблицу данных. Поэтому, когда я обновляю связанный tableAdapter, структура физической таблицы изменится.

Код, который, как я ожидал, будет работать, был таким:

        SqlCommand cmd = new SqlCommand("SELECT * FROM EMPLOYEE", conn);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        dt.Columns.Add(new DataColumn("BirthDate"));
        adapter.Update(dt);

Но это не так.

Если это возможно в любом случае, как я могу это сделать?


person Ahmet Altun    schedule 06.02.2011    source источник


Ответы (1)


Ты не сможешь это сделать.

Таблица данных .NET — это только представление структур базы данных на диске — в коде ADO.NET DataTable нет функций, поддерживающих генерацию или обновление базовых таблиц, когда вы изменить структуру вашего DataTable.

Вам придется использовать оператор ALTER TABLE ..... SQL, чтобы добиться того, что вы ищете - боюсь, это невозможно.

person marc_s    schedule 06.02.2011