22

VisualStudio 2005 で DataSet を取得しました。データテーブルの 1 つの列のデータ型を から に変更する必要がありSystem.Int32ますSystem.Decimal。のデータ型を変更しようとするとDataSet Designer、次のエラーが表示されます。

プロパティ値が無効です。列にデータがあると、その列の DataType を変更できません。

私の理解では、これは DataSet のスキーマのデータ型を変更する必要があります。このエラーを引き起こすデータがどのように存在するのかわかりません。

誰にもアイデアはありますか?

4

6 に答える 6

44

同じエラーが発生しますが、列がDefaultValue任意の値に設定されている場合にのみ発生します( default を除く<DBNull>)。したがって、この問題を回避する方法は次のとおりです。

  1. 列の DefaultValue : 入力します<DBNull>
  2. データセットを保存して再度開く
于 2009-12-15T07:17:51.557 に答える
5

満たされたデータテーブルはスキーマの変更を含まないため、次のように回避策を適用できます。

  1. 新しいデータテーブルを作成する

  2. データテーブルの Clone メソッドを使用して、同じ構造のデータテーブルを作成し、その列に変更を加えます

  3. 最後に、データテーブルの ImportRow メソッドを使用してデータを入力します。

HTH

于 2008-09-06T06:48:11.107 に答える
3

私は回避策を見つけました。データ列を削除して、別のデータ型で再度追加すると、機能します。

于 2008-09-06T07:16:46.170 に答える