質問編集履歴

6

質問内容を別スレッドに分けるため追記を削除

2021/02/20 08:49

投稿

kazu0630
kazu0630

スコア26

test CHANGED
File without changes
test CHANGED
@@ -63,79 +63,3 @@
63
63
  コード
64
64
 
65
65
  ```
66
-
67
-   
68
-
69
-   
70
-
71
-   
72
-
73
-   
74
-
75
-   
76
-
77
-   
78
-
79
- ■追記(2021 2/20)
80
-
81
- ご回答いただき、ありがとうございます。
82
-
83
-
84
-
85
- また、情報が不足しており、申し訳ありません。
86
-
87
- 私が思っているより、だいぶ使い分けが難しそうですね・・。
88
-
89
-
90
-
91
- > 質問者さんの例「単にデータベースからデータを取得して、その値によって処理を分岐」で、質問者さんがそのためのカスタムクラスを作るとして、そのカスタムクラスに DataTable を渡すのにどうするかによります。そこには組織の設計思想・ルール・質問者さんの好み等々が関係するはずです。
92
-
93
-
94
-
95
- ⇒カスタムクラスはどういった場合に作成を検討するものなのでしょうか。
96
-
97
-
98
-
99
- > ただ、単純に DataTable が返ってくればいいということではなく、Fill メソッドの戻り値が欲しいとか、既存の DataTable に追加するようにしたい場合は Fill を使うということになると思います。
100
-
101
-
102
-
103
- ⇒「既存の DataTable に追加するようにしたい場合は Fill を使うということになると思います。」と記載していただきましたが、"追加"ということは、以下のように異なるSelect文をFillメソッド、FillByメソッドで実行した際に、DataTableを表す変数dtに、それぞれの実行結果が"追加"されるということでしょうか。
104
-
105
- ```VB
106
-
107
- Dim adapter As New TestDataSetTableAdapters.BookTableAdapter
108
-
109
- Dim dt As New TestDataSet.BookDataTable
110
-
111
-
112
-
113
- ' Fillメソッドでデータを取得
114
-
115
- adapter.Fill(dt)
116
-
117
- adapter.FillBy(dt)
118
-
119
- ```
120
-
121
- ![イメージ説明](744cab754c434592cfe5600a2b90e021.png)
122
-
123
- 試した限り、Fillメソッドの実行結果が、FillByメソッドの実行結果によって、上書きされて変数dtに格納されていたため、"追加"というのがどういう意味で使っていらっしゃるのかが分かりませんでした。
124
-
125
-
126
-
127
- > そもそも「単にデータベースからデータを取得して、その値によって処理を分岐」という目的に型付 DataSet / DataTable + TableAdapter を使うのが適切かという話を考えるべきと思いますが、その話は今後の課題ということで・・・
128
-
129
-
130
-
131
- ⇒初歩的な質問となり、大変お恥ずかしいのですが、「型付 DataSet / DataTable」の型付とはどういうことでしょうか。手元にある書籍には、
132
-
133
- 「型付きデータセットとは、データセットに具体的なデータ構造(型)を定義し、特定のテーブル(データ)を格納するために用意された専用のデータセットと思っていただければ良いでしょう」
134
-
135
- と書かれておりましたが、「データセットに具体的なデータ構造(型)を定義」という説明がよく分かりませんでした。
136
-
137
- ここでいうデータ構造というのは、テーブル定義(カラムやカラムに格納する型など)を表したものという認識でよろしいのでしょうか。
138
-
139
-
140
-
141
- 質問事項が増えてしまい、申し訳ありません・・。

5

見やすさを改善

2021/02/20 08:49

投稿

kazu0630
kazu0630

スコア26

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,16 @@
19
19
 
20
20
 
21
21
  上記の2つのメソッドはどのように使い分けるべきなのでしょうか。
22
+
23
+  
24
+
25
+  
26
+
27
+  
28
+
29
+  
30
+
31
+  
22
32
 
23
33
 
24
34
 
@@ -54,7 +64,17 @@
54
64
 
55
65
  ```
56
66
 
67
+   
57
68
 
69
+   
70
+
71
+   
72
+
73
+   
74
+
75
+   
76
+
77
+   
58
78
 
59
79
  ■追記(2021 2/20)
60
80
 

4

表示内容の改善

2021/02/20 05:03

投稿

kazu0630
kazu0630

スコア26

test CHANGED
File without changes
test CHANGED
@@ -68,13 +68,17 @@
68
68
 
69
69
 
70
70
 
71
- >質問者さんの例「単にデータベースからデータを取得して、その値によって処理を分岐」で、質問者さんがそのためのカスタムクラスを作るとして、そのカスタムクラスに DataTable を渡すのにどうするかによります。そこには組織の設計思想・ルール・質問者さんの好み等々が関係するはずです。
71
+ > 質問者さんの例「単にデータベースからデータを取得して、その値によって処理を分岐」で、質問者さんがそのためのカスタムクラスを作るとして、そのカスタムクラスに DataTable を渡すのにどうするかによります。そこには組織の設計思想・ルール・質問者さんの好み等々が関係するはずです。
72
+
73
+
72
74
 
73
75
  ⇒カスタムクラスはどういった場合に作成を検討するものなのでしょうか。
74
76
 
75
77
 
76
78
 
77
79
  > ただ、単純に DataTable が返ってくればいいということではなく、Fill メソッドの戻り値が欲しいとか、既存の DataTable に追加するようにしたい場合は Fill を使うということになると思います。
80
+
81
+
78
82
 
79
83
  ⇒「既存の DataTable に追加するようにしたい場合は Fill を使うということになると思います。」と記載していただきましたが、"追加"ということは、以下のように異なるSelect文をFillメソッド、FillByメソッドで実行した際に、DataTableを表す変数dtに、それぞれの実行結果が"追加"されるということでしょうか。
80
84
 
@@ -100,7 +104,9 @@
100
104
 
101
105
 
102
106
 
103
- >そもそも「単にデータベースからデータを取得して、その値によって処理を分岐」という目的に型付 DataSet / DataTable + TableAdapter を使うのが適切かという話を考えるべきと思いますが、その話は今後の課題ということで・・・
107
+ > そもそも「単にデータベースからデータを取得して、その値によって処理を分岐」という目的に型付 DataSet / DataTable + TableAdapter を使うのが適切かという話を考えるべきと思いますが、その話は今後の課題ということで・・・
108
+
109
+
104
110
 
105
111
  ⇒初歩的な質問となり、大変お恥ずかしいのですが、「型付 DataSet / DataTable」の型付とはどういうことでしょうか。手元にある書籍には、
106
112
 
@@ -109,3 +115,7 @@
109
115
  と書かれておりましたが、「データセットに具体的なデータ構造(型)を定義」という説明がよく分かりませんでした。
110
116
 
111
117
  ここでいうデータ構造というのは、テーブル定義(カラムやカラムに格納する型など)を表したものという認識でよろしいのでしょうか。
118
+
119
+
120
+
121
+ 質問事項が増えてしまい、申し訳ありません・・。

3

追記

2021/02/20 05:00

投稿

kazu0630
kazu0630

スコア26

test CHANGED
File without changes
test CHANGED
@@ -53,3 +53,59 @@
53
53
  コード
54
54
 
55
55
  ```
56
+
57
+
58
+
59
+ ■追記(2021 2/20)
60
+
61
+ ご回答いただき、ありがとうございます。
62
+
63
+
64
+
65
+ また、情報が不足しており、申し訳ありません。
66
+
67
+ 私が思っているより、だいぶ使い分けが難しそうですね・・。
68
+
69
+
70
+
71
+ >質問者さんの例「単にデータベースからデータを取得して、その値によって処理を分岐」で、質問者さんがそのためのカスタムクラスを作るとして、そのカスタムクラスに DataTable を渡すのにどうするかによります。そこには組織の設計思想・ルール・質問者さんの好み等々が関係するはずです。
72
+
73
+ ⇒カスタムクラスはどういった場合に作成を検討するものなのでしょうか。
74
+
75
+
76
+
77
+ > ただ、単純に DataTable が返ってくればいいということではなく、Fill メソッドの戻り値が欲しいとか、既存の DataTable に追加するようにしたい場合は Fill を使うということになると思います。
78
+
79
+ ⇒「既存の DataTable に追加するようにしたい場合は Fill を使うということになると思います。」と記載していただきましたが、"追加"ということは、以下のように異なるSelect文をFillメソッド、FillByメソッドで実行した際に、DataTableを表す変数dtに、それぞれの実行結果が"追加"されるということでしょうか。
80
+
81
+ ```VB
82
+
83
+ Dim adapter As New TestDataSetTableAdapters.BookTableAdapter
84
+
85
+ Dim dt As New TestDataSet.BookDataTable
86
+
87
+
88
+
89
+ ' Fillメソッドでデータを取得
90
+
91
+ adapter.Fill(dt)
92
+
93
+ adapter.FillBy(dt)
94
+
95
+ ```
96
+
97
+ ![イメージ説明](744cab754c434592cfe5600a2b90e021.png)
98
+
99
+ 試した限り、Fillメソッドの実行結果が、FillByメソッドの実行結果によって、上書きされて変数dtに格納されていたため、"追加"というのがどういう意味で使っていらっしゃるのかが分かりませんでした。
100
+
101
+
102
+
103
+ >そもそも「単にデータベースからデータを取得して、その値によって処理を分岐」という目的に型付 DataSet / DataTable + TableAdapter を使うのが適切かという話を考えるべきと思いますが、その話は今後の課題ということで・・・
104
+
105
+ ⇒初歩的な質問となり、大変お恥ずかしいのですが、「型付 DataSet / DataTable」の型付とはどういうことでしょうか。手元にある書籍には、
106
+
107
+ 「型付きデータセットとは、データセットに具体的なデータ構造(型)を定義し、特定のテーブル(データ)を格納するために用意された専用のデータセットと思っていただければ良いでしょう」
108
+
109
+ と書かれておりましたが、「データセットに具体的なデータ構造(型)を定義」という説明がよく分かりませんでした。
110
+
111
+ ここでいうデータ構造というのは、テーブル定義(カラムやカラムに格納する型など)を表したものという認識でよろしいのでしょうか。

2

質問内容の追記

2021/02/20 04:58

投稿

kazu0630
kazu0630

スコア26

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,37 @@
19
19
 
20
20
 
21
21
  上記の2つのメソッドはどのように使い分けるべきなのでしょうか。
22
+
23
+
24
+
25
+ ■追記(2021 2/19)
26
+
27
+ 例えば、Webアプリを作成する際に、以下のようにxsdファイルにTableAdapterを定義したとします。
28
+
29
+ ![イメージ説明](493c19ff96faa8d74150589c24ea1f34.png)
30
+
31
+
32
+
33
+ そして、以下のようにFillメソッドまたはGetDataテーブルを使うことで、どちらともテーブルからデータを取得することができると思いますが、この2つのメソッドの使い分けがまだ理解できておりません。
34
+
35
+ ```VB
36
+
37
+ Dim adapter As New TestDataSetTableAdapters.BookTableAdapter
38
+
39
+ Dim dt As New TestDataSet.BookDataTable
40
+
41
+
42
+
43
+ ' Fillメソッドでデータを取得
44
+
45
+ adapter.Fill(dt)
46
+
47
+
48
+
49
+ ' GetDataメソッドでデータを取得
50
+
51
+ Dim result As DataTable = adapter.GetData
52
+
53
+ コード
54
+
55
+ ```

1

不要な文言の削除

2021/02/19 14:37

投稿

kazu0630
kazu0630

スコア26

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ![![イメージ説明](0544372570a6dc7e27f005f90d665072.png)](d8f1b418ff02e043025a6f06b92a54ab.png)
13
+ ![![イメージ説明](0544372570a6dc7e27f005f90d665072.png)
14
14
 
15
15
 
16
16