- PR -

ForeignKeyConstraint について

1
投稿者投稿内容
hwman
会議室デビュー日: 2006/09/24
投稿数: 11
投稿日時: 2006-09-28 00:50
たくじです。
早速ですが。
親テーブル:tblParent
子テーブル:tblChild

<期待している動作>
親テーブルのParentID=1のレコードが削除されたら
子テーブルのParentNo=1のレコードも削除される。
<結果>
子テーブルからレコードが削除されない。

下記のように
dataSet_.Relations.Add(   // リレーションの追加
 new DataRelation(     // リレーション作成
 "RelParentIDParentNo",    // リレーション名
 dataSet_.Tables["tblParent"].Columns["ParentID"], // 親カラム
 dataSet_.Tables["tblChild"].Columns["ParentNo"] // 子カラム
 )
);
リレーションをデータセットへ追加すると
dataSet_.Tables["tblChild"].Constraintsコレクションに
ForeignKeyConstraintオブジェクトが追加されていて
DeleteRuleはRule.Cascadeに設定されていました。
ウォッチで確認しました。

ですが、子テーブルからレコードが削除されません。
ご教授お願いいたします。

環境
Windows2000
Access 2003
Visual C# 2005 Express Edition
vincent
大ベテラン
会議室デビュー日: 2004/07/09
投稿数: 142
投稿日時: 2006-09-28 09:43
親テーブルParentIDと子テーブルParentNoのデータ型は同じですか?
親テーブルParentID列がPrimaryKeyプロパティに設定されていますか?
hwman
会議室デビュー日: 2006/09/24
投稿数: 11
投稿日時: 2006-09-28 23:01
お世話になっています。
たくじです。

>親テーブルParentIDと子テーブルParentNoのデータ型は同じですか?
はい、両方ともSystem.Int32です。

>親テーブルParentID列がPrimaryKeyプロパティに設定されていますか?
設定してみましたが、結果は同じでした。


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-10-08 06:08
親テーブルからの削除は、どのように行っていますか?
_________________
1

スキルアップ/キャリアアップ(JOB@IT)