- - PR -
DataGridテーブル結合について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-03-07 19:12
お世話になっております。
ASP.Net(C#)を使用しております。 2テーブルを結合してDataGridへ連結し、編集機能もつけたいと 思っています。 テーブルのリレーションを設定するところで、 'column' 引数を Null にすることはできません。パラメータ名 : column というエラーが出ていて困っています。 どなたかご教授お願い致します。 ***現状のソースの抜粋*** strSQL = "SELECT * FROM F_PT_AVERAGE" + " WHERE target_year = '" + target_year + "'" + " AND team_code = '" + team_code + "'"; SqlDataAdapter objDA_PT = new SqlDataAdapter(strSQL,objCon); strSQL = "SELECT player_name,player_no,main_position FROM M_PLAYER" + " WHERE belong_team_code = '" + team_code + "'"; SqlDataAdapter objDA_PL = new SqlDataAdapter(strSQL,objCon); DataSet ds = new DataSet(); objDA_PT.Fill(ds,"F_PT_AVERAGE"); objDA_PL.Fill(ds,"M_PLAYER"); ds.Relations.Add("PT_PLAYER",ds.Tables["F_PT_AVERAGE"].Columns["player_code"],ds.Tables["M_PLAYER"].Columns["player_code"]); ***実現したいSQL文(このSQLは問題なく実行します)*** select m.player_name,m.player_no,f.* from F_PT_AVERAGE f,M_PLAYER m where m.player_code = f.player_code 以上よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-03-07 23:18
こんにちは。
質問からの抜粋ですけど、 これだけ見る限り "player_code" が無いのではないでしょうか? | ||||||||
|
投稿日時: 2005-03-08 11:39
すいません。入れ忘れです。
player_codeを入れたら、下記エラーが出て、原因がわかりません。 [ArgumentException: 対応する親の値が指定されてない値があるため、この制約を有効にできません。] | ||||||||
|
投稿日時: 2005-03-08 12:19
子テーブルにあるplayer_codeで親テーブルに登録されていないplayer_codeがあるのだとおもいます。
| ||||||||
|
投稿日時: 2005-03-08 13:17
おっしゃるとおりでした。
親テーブルをM_PLAYER、子テーブルをF_PT_AVERAGEへ 変更したところ、datagridへうまく表示ができました。 ありがとうございました。 しかし、あと一歩のところでまた問題が発生してしまいました。 親テーブル(M_PLAYER)がマスタテーブルに当たり、 子テーブル(F_PT_AVERAGE)の編集をDataGrid上で行いたいのですが、 どのようにしてよいのかわかりません。 親テーブルの編集はできるのですが・・ ご教授お願い致します。 |
1