|
分類:[VB.NET/VB2005 以降]
2010/06/08(Tue) 11:53:44 編集(投稿者) 2010/06/08(Tue) 11:53:40 編集(投稿者)
デザイナでデータソースにSQLServerのテーブルを追加すると、自動的にDataTableが作成されFillメソッドが追加されます。 ★tbl_syain(社員マスタ) syain_code PK syain_name ★tbl_project(プロジェクトマスタ) 湾roject_no PK syain_name ★tbl_projectmenber(プロジェクトメンバー) 藁ember_no PK 湾roject_no syain_no
さらにDataAdapterを追加し、Joinしたレコードを取得するFillByprojectnoを作成したとします。 tbl_memberlist(project_noを指定し、社員マスタとプロジェクトメンバーをJOINし社員氏名を表示) tbl_project.project_no tbl_project.syain_code tbl_syain.syain_name
これをフォーム上にDataGridViewにバインドし、ユーザーに表示します。 ユーザーはこのDataGridViewにプロジェクトメンバーを追加していきます。
最後に追加が終わったらtbl_menbeListTableAdapter.Updateで更新します。 tbl_menbeListTableAdapterには以下のINSERT、UPDATE文をセットしてあります。
INSERT INTO tbl_projectmember(project_no, syain_no) VALUES(@projectno, @syainno) UPDATE SET tbl_projectmember SET project_no = @projectno, syain_no = @syainno WHERE member_no = @memberno
プログラム上ではtbl_memberListTableAdapter.Updateとすると、正常にINSERT又はUPDATEされるのですが、各パラメータにセットされる値はどのように追加されているのでしょうか。
単純にFill→UPDATEなら理解できますが、UPDATEで別テーブルを更新するようにしているので疑問に思いました。
間違いがあったため訂正しました。
|