Visual Studio 2005数据集设计器中的"一旦具有数据列就无法更改其数据类型"错误

时间:2020-03-05 18:48:37  来源:igfitidea点击:

我在Visual Studio 2005中有一个DataSet。我需要将其中一个数据表中的列的数据类型从System.Int32更改为System.Decimal。当我尝试在"数据集设计器"中更改数据类型时,收到以下错误:

Property value is not valid.  Cannot change DataType of a column once
  it has data.

据我了解,这应该更改DataSet模式中的数据类型。我没有看到如何有任何数据导致此错误。

有人有什么想法吗?

解决方案

回答

由于填充的数据表不会在模式中产生变化,因此可以按照以下方法应用解决方法:

  • 制作一个新的数据表
  • 使用数据表的Clone方法创建具有相同结构的数据表并对该列进行更改
  • 最后,使用数据表的ImportRow方法向其中填充数据。

高温超导

回答

我找到了解决方法。如果我删除数据列并使用其他数据类型将其添加回去,那么它将起作用。

回答

我收到同样的错误,但仅适用于将其" DefaultValue"设置为任何值的列(默认的" <DBNull>"除外)。所以我解决这个问题的方法是:

  • 列DefaultValue:键入<DBNull>
  • 保存并重新打开数据集