teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

誤記訂正:PersonJobTable ⇒ PersonTable

2016/12/15 00:55

投稿

退会済みユーザー
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 PersonJobTable.ID, PersonJobTable.Name, JobTable.Job
8
+ SELECT PersonTable.ID, PersonTable.Name, JobTable.Job
7
- FROM PersonJobTable INNER JOIN JobTable
9
+ FROM PersonTable INNER JOIN JobTable
8
- ON PersonJobTable.JobID = JobTable.ID
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
- なお、上記の記事の方法では PersonJobTable テーブルのみしか更新できません。PersonJobTable テーブルと JobTable テーブルの両方を同時に更新したい場合は TableAdapterManager クラス(Visual Studio 2008 以降)を利用して階層更新を行う必要があると思います。詳しくは以下の記事を見てください。
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

誤記訂正

2016/12/15 00:55

投稿

退会済みユーザー
answer CHANGED
@@ -3,7 +3,7 @@
3
3
  その意味が分かりませんが、今回のようなケースで普通に考え付くのは、TableAdpter 構成ウィザードで以下のように JOIN した SELECT クエリをベースに型付 DataSet + TableAdapter を作るということです。
4
4
 
5
5
  ```
6
- SELECT PersonJobTable.ID, PersonJobTable.Name, JobTable.CategoryID
6
+ SELECT PersonJobTable.ID, PersonJobTable.Name, JobTable.Job
7
7
  FROM PersonJobTable INNER JOIN JobTable
8
8
  ON PersonJobTable.JobID = JobTable.ID
9
9
  ```