C#2005orcle10gC#.NET2005で開発している者です。行き詰ってしまったので質問させて下さい。DataSetでDataTableに親子関係でリレーションを張ったTableの新行追加更新について質問です。以下がTableの概要になります。キーカラム名称カラム数量A親とB子をカラムCD1をキーにして、リレーションを張っています。A親のデータ1件に対し、B子のデータn件が紐付く関係です。A親に新行を追加した場合、B子にデフォルトとして、いくつか行を設定する仕様になっています。追加が拒否されてしまいます。追加が拒否されてしまいます。DataTableつかっているって事は、親子のDataTable間が別トランザクションになっているはず。親子を同一トランザクション内にいれて、親をINSERTしてから子をINSERTすればOK。親側をINSERTしてから子側をINSERTでもできるけれどトランザクション制御は必須だと思うので、そこを絡めて実装しましょう。A親.rows[c][カラムCD1]としてます)>>FK_A親_A子_カラムCD1には、A親のカラムCD1の値が必要です等のメッセージと共に、>>追加が拒否されてしまいます。DataTableつかっているって事は、親子のDataTable間が別トランザクションになっているはず。親子を同一トランザクション内にいれて、親をINSERTしてから子をINSERTすればOK。親側をINSERTしてから子側をINSERTでもできるけれどトランザクション制御は必須だと思うので、そこを絡めて実装しましょう。>はつね様、返答、ありがとうございます。返答を頂き、私の情報の提供不足を認識しました。DataTableはDBでなく、ソース上にあります。(XSDなんですが)また、追加時には、親のDataTableに追加してから、子に入れております。同じ値を設定してくださいと怒られている状態です。DataSetでDataTableに親子関係でリレーションを張ったTableの新行追加更新について質問です。リレーションをどのように設定し、行をどうやって追加しているのかを提示してもらえますか?少なくとも、下記のコードでは正常に追加できていますので。検証に使用した型付DataSetの定義は、こんな感じ。返答ありがとうございます。リレーションはXSDにて設定しております。下記がリレーションシップの概要です。None下記がテーブルへの追加です。親A.rows[i][カラムCD1]ぐだぐだな説明な感じがします。A親のデータ1件に対し、B子のデータn件が紐付く関係です。いうキーで繋がっているのですよね?定義を見る限り、B子側は0〜n件ではなく、0〜1件に見えるのですが...。333);といった感じでできますね。B子に登録済みなのですよね。FK_A親_A子_カラムCD1には、A親のカラムCD1の値が必要です等のメッセージと共に、というエラーにはなりませんでした。リレーションはXSDにて設定しております。この部分が異なっていたので合わせてみましたが、やはり再現しません。再現可能なコードがあれば、提示していただけないでしょうか。下記がテーブルへの追加です。登録してから、値を設定する」という手法にしているのですね。そのコードに合わせるなら、こんな感じですかね。14:01:10)皆様、回答ありがとうございます。正常の動作となりました。エラーとなっていた原因は不明なままです。長い間、私のために時間をとらせてしまい、申し訳なく思っております。あ、感謝しております。一応、解決にしときます。