回答編集履歴
2
誤記訂正:PersonJobTable ⇒ PersonTable
answer
CHANGED
@@ -2,12 +2,13 @@
|
|
2
2
|
|
3
3
|
その意味が分かりませんが、今回のようなケースで普通に考え付くのは、TableAdpter 構成ウィザードで以下のように JOIN した SELECT クエリをベースに型付 DataSet + TableAdapter を作るということです。
|
4
4
|
|
5
|
+
********【2016/12/15 9:55 誤記訂正:PersonJobTable ⇒ PersonTable】********
|
6
|
+
|
5
7
|
```
|
6
|
-
SELECT
|
8
|
+
SELECT PersonTable.ID, PersonTable.Name, JobTable.Job
|
7
|
-
FROM
|
9
|
+
FROM PersonTable INNER JOIN JobTable
|
8
|
-
ON
|
10
|
+
ON PersonTable.JobID = JobTable.ID
|
9
11
|
```
|
10
|
-
|
11
12
|
それができれば、あとは自力でコードを一行も書かなくても、Visual Studio のウィザードを使ってのドラッグ&ドロップで DataGridView を使った Windows Forms アプリを作れます。
|
12
13
|
|
13
14
|
見るだけならそれで十分と思いますが、テーブルを JOIN した SELECT クエリをベースに TableAdapter を自動生成させると UPDATE, DELETE, INSERT に必要なコードは一切自動生成されないので、更新操作が必要な場合困ると思います。
|
@@ -20,7 +21,7 @@
|
|
20
21
|
DataGridView に ID と名前を併記
|
21
22
|
http://surferonwww.info/BlogEngine/post/2014/02/01/how-to-show-both-id-and-name-on-datagridview-while-enabling-update.aspx
|
22
23
|
|
23
|
-
なお、上記の記事の方法では
|
24
|
+
なお、上記の記事の方法では PersonTable テーブルのみしか更新できません。PersonTable テーブルと JobTable テーブルの両方を同時に更新したい場合は TableAdapterManager クラス(Visual Studio 2008 以降)を利用して階層更新を行う必要があると思います。詳しくは以下の記事を見てください。
|
24
25
|
|
25
26
|
TableAdapterManager
|
26
27
|
http://surferonwww.info/BlogEngine/post/2011/12/21/TableAdapterManager.aspx
|
1
誤記訂正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
その意味が分かりませんが、今回のようなケースで普通に考え付くのは、TableAdpter 構成ウィザードで以下のように JOIN した SELECT クエリをベースに型付 DataSet + TableAdapter を作るということです。
|
4
4
|
|
5
5
|
```
|
6
|
-
SELECT PersonJobTable.ID, PersonJobTable.Name, JobTable.
|
6
|
+
SELECT PersonJobTable.ID, PersonJobTable.Name, JobTable.Job
|
7
7
|
FROM PersonJobTable INNER JOIN JobTable
|
8
8
|
ON PersonJobTable.JobID = JobTable.ID
|
9
9
|
```
|