【发布时间】:2016-05-01 21:27:41
【问题描述】:
在 DataTable 的 DataColumnCollection 中添加/更改列后,我需要更新数据库。我该怎么做?
我使用此代码添加新列:
dataTable.Columns.Add("newColumn", typeof (int));
此代码适用于 dataTable 中更改的行,但不适用于更改的列(它什么都不做)。
SqlDataAdapter adapter = new SqlDataAdapter(cmdText, _connection);
SqlCommandBuilder cb = new SqlCommandBuilder(adapter);
adapter.Update(dataTable);
在cmdText中是用来获取dataTable的select命令。
【问题讨论】:
-
您无法更改数据库的架构,从而更改内存数据表的架构。您需要为您的数据库使用适当的 SQL 命令。 IE:搜索 T-SQL ALTER TABLE
-
@Steve 谢谢回复。那么没有办法使用 DataTable 更改数据库的架构吗?我现在使用 dataTable.Columns 作为 DataGridView 的数据源,以这种方式更改它很舒服:)。
-
不,我发现在运行应用程序时需要更改 数据库表 的架构有点奇怪。通常这些变化发生在需求发生变化时。哪种应用程序需要在运行时永久更改其数据库架构?
-
没什么大不了的,只是学校项目。它应该类似于数据库管理器。
-
我明白了,但仍然无法使用 DataTable 对象来做到这一点。您需要使用正确的 SQL 命令
标签: c# database datatable datacolumn datacolumncollection