回答編集履歴

1

コメントを受けての追記

2018/07/16 13:31

投稿

takyafumin
takyafumin

スコア2335

test CHANGED
@@ -15,3 +15,77 @@
15
15
  または回答内容で分からない点があるという事でしょうか。
16
16
 
17
17
  もしそうであれば、Anthony_03さまの現状(回答を受けて試した事、理解できている事、理解できていないことなど)をもっと具体的に記載すると、回答がつきやすいかもしれませんね。
18
+
19
+
20
+
21
+ ## コメントを受けての追記
22
+
23
+
24
+
25
+ > そうですね、まず下記の原因と解決策については直訳すればまぁ何とかわかる程度なんですが…。
26
+
27
+ > それにはどんな解決策が(具体的な方法)あるのかを教えていただければありがたいです。
28
+
29
+
30
+
31
+ すみません、どの程度ご理解された上で、具体的に何を悩まれているのか、このコメントでは全く分かりませんでした。
32
+
33
+ 意地悪な言い方をしますと、「原因と解決策については直訳すればまぁ何とかわかる」のであれば、
34
+
35
+ もう解決しているのでは?と思ってしまいます。
36
+
37
+ 記載頂いている内容が、回答者が分かりうる情報の全てですので、「何とかわかる」などの曖昧な表現ではなく
38
+
39
+ 「〇〇は理解できたが、××の部分が分からない」といった表現をして頂けると回答しやすいです。
40
+
41
+
42
+
43
+ さて、本題ですが、解決方法については既に回答に記載した通り、「親への登録が1回だけとなる様に、for文の外で実行するように記載」する方法となります。
44
+
45
+
46
+
47
+ ```Java
48
+
49
+ sft.insert(formNumber, saleDay, clientCode, branchCode, staffCode, saleComment);
50
+
51
+ ```
52
+
53
+ については、for文内で実行する必要がないと思いますが、いかがでしょうか。
54
+
55
+ 現状ですと、length回数分、この処理が実行されます。
56
+
57
+ そのため、一意制約エラーが発生している様に思われます。
58
+
59
+ (テーブル構造など提示がないため、想像での回答です)
60
+
61
+
62
+
63
+ ---
64
+
65
+
66
+
67
+ > さらにすいません。もし下記の文を把握していたらでいいので「親子関係」の部分を少し詳しく解説していただいてもいいですか?
68
+
69
+
70
+
71
+ 元々の質問文にて、登録するデータのテーブル構造などが提示されていないため、エスパーとしての回答となりますが、
72
+
73
+ `SaleFormTable`と`SaleDetailTable`に関しては名前から推測するに、親子関係が成立していると考えます。
74
+
75
+
76
+
77
+ 親: `SaleFormTable` 売上情報?
78
+
79
+ 子: `SaleDetailTable` 売上明細?
80
+
81
+
82
+
83
+ `SaleFormTable`1件に対して、`SaleDetailTable`がN件紐づく関係性であると推測しています。
84
+
85
+ この関係性を指して「親子」としています。
86
+
87
+
88
+
89
+
90
+
91
+ この辺り、理解が異なる様であれば、質問文に明確に記載頂けると認識の不一致が少なくなり、良いと思います。