如何使用SqlDataAdapter和DataTable将新列插入数据库表?

时间:2011-02-06 11:43:55

标签: .net ado.net datatable sqldataadapter

在我的.NET程序中,我想通过插入新列来修改数据库表的结构。但我不想通过ADO.NET在数据库上运行“ALTER TABLE .....”命令来实现。我想通过向我的数据表添加新列来实现。因此,当我更新关联的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);

但事实并非如此。

如果有可能,我该怎么办?

1 个答案:

答案 0 :(得分:1)

你不能这样做。

.NET数据表只是磁盘数据库结构的表示 - ADO.NET DataTable代码中没有任何功能可以支持生成更新底层更改DataTable的结构时的表格。

你将不得不使用ALTER TABLE ..... SQL语句来实现你正在寻找的东西 - 我没办法解决这个问题。