メソッドに渡された 1 つのデータ テーブルからローカル データベースの別のデータ テーブルにデータをロードしようとしている WCF サービスに取り組んでいます (この場合、「ローカル」データベースは SQL Server データベースです)。 Windows 2003 サーバー上)。すると、次のエラーメッセージが表示されます。
「テーブル 'ASIVocationalNeeds' の列 'VocNeedDesc' の値は DBNull です。」
これは、テーブル ASIVocationalNeeds の列 VocNeedDesc で NULL が許可されているため、実際には問題ありません。本来は渡されたテーブルの VocNeedDesc の値をローカルテーブルに代入しただけなのですが、そのエラーが出てしまいました。次に、VocNeedDesc の値をチェックして null かどうかを確認するようにコードを変更し、null である場合は string.Empty を値に割り当て、それ以外の場合は渡された値を割り当てましたが、それでもエラー メッセージが表示されます。私は困惑しています。なぜこのエラーが発生するのかわかりません。関連するコード セグメントは次のとおりです。
localEmploy.ASIVocationalNeeds.Rows.Add(clientNumber,
caseNumber,
0,
EmploymentDataSet.ASIVocationalNeeds[i].VocNeedType,
(EmploymentDataSet.ASIVocationalNeeds[i].VocNeedDesc == null ? string.Empty : EmploymentDataSet.ASIVocationalNeeds[i].VocNeedDesc));