質問編集履歴

3

コード追加しました。

2018/05/21 08:46

投稿

Tatsuo_Iriyama
Tatsuo_Iriyama

スコア50

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,9 @@
14
14
 
15
15
  タイトルにもあるように、入力した宛先情報が既に登録されている場合、その登録を無効化、要するに登録出来ないようにしたいのですが、うまくいかなくて詰まっています。
16
16
 
17
- 現在のコードです。
17
+
18
+
19
+
18
20
 
19
21
  ```Java
20
22
 
@@ -94,6 +96,292 @@
94
96
 
95
97
 
96
98
 
99
+ AddressDTOのコード
100
+
101
+ ```Java
102
+
103
+ public class AddressDTO {
104
+
105
+
106
+
107
+ private int addressId;
108
+
109
+ private String userId;
110
+
111
+ private String familyName;
112
+
113
+ private String firstName;
114
+
115
+ private String familyNameKana;
116
+
117
+ private String firstNameKana;
118
+
119
+ private String postalCode;//郵便番号
120
+
121
+ private String addr11;//住所
122
+
123
+ private String telNumber;
124
+
125
+ private String email;
126
+
127
+
128
+
129
+ public int getAddressId() {
130
+
131
+ return addressId;
132
+
133
+ }
134
+
135
+
136
+
137
+ public void setAddressId(int addressId) {
138
+
139
+ this.addressId = addressId;
140
+
141
+ }
142
+
143
+
144
+
145
+ public String getUserId() {
146
+
147
+ return userId;
148
+
149
+ }
150
+
151
+
152
+
153
+ public void setUserId(String userId) {
154
+
155
+ this.userId = userId;
156
+
157
+ }
158
+
159
+
160
+
161
+ public String getFamilyName() {
162
+
163
+ return familyName;
164
+
165
+ }
166
+
167
+
168
+
169
+ public void setFamilyName(String familyName) {
170
+
171
+ this.familyName = familyName;
172
+
173
+ }
174
+
175
+
176
+
177
+ public String getFirstName() {
178
+
179
+ return firstName;
180
+
181
+ }
182
+
183
+
184
+
185
+ public void setFirstName(String firstName) {
186
+
187
+ this.firstName = firstName;
188
+
189
+ }
190
+
191
+
192
+
193
+ public String getFamilyNameKana() {
194
+
195
+ return familyNameKana;
196
+
197
+ }
198
+
199
+
200
+
201
+ public void setFamilyNameKana(String familyNameKana) {
202
+
203
+ this.familyNameKana = familyNameKana;
204
+
205
+ }
206
+
207
+
208
+
209
+ public String getFirstNameKana() {
210
+
211
+ return firstNameKana;
212
+
213
+ }
214
+
215
+
216
+
217
+ public void setFirstNameKana(String firstNameKana) {
218
+
219
+ this.firstNameKana = firstNameKana;
220
+
221
+ }
222
+
223
+
224
+
225
+ public String getPostalCode() {
226
+
227
+ return postalCode;
228
+
229
+ }
230
+
231
+
232
+
233
+ public void setPostalCode(String postalCode) {
234
+
235
+ this.postalCode = postalCode;
236
+
237
+ }
238
+
239
+
240
+
241
+ public String getAddr11() {
242
+
243
+ return addr11;
244
+
245
+ }
246
+
247
+
248
+
249
+ public void setAddr11(String addr11) {
250
+
251
+ this.addr11 = addr11;
252
+
253
+ }
254
+
255
+
256
+
257
+ public String getTelNumber() {
258
+
259
+ return telNumber;
260
+
261
+ }
262
+
263
+
264
+
265
+ public void setTelNumber(String telNumber) {
266
+
267
+ this.telNumber = telNumber;
268
+
269
+ }
270
+
271
+
272
+
273
+ public String getEmail() {
274
+
275
+ return email;
276
+
277
+ }
278
+
279
+
280
+
281
+ public void setEmail(String email) {
282
+
283
+ this.email = email;
284
+
285
+ }
286
+
287
+
288
+
289
+ }
290
+
291
+ ```
292
+
293
+
294
+
295
+ 実際の登録処理コード
296
+
297
+ ```Java
298
+
299
+ public class AddressRegiCompleteAction extends ActionSupport implements SessionAware{
300
+
301
+
302
+
303
+ public Map<String,Object> session;
304
+
305
+
306
+
307
+ public String execute() throws SQLException{
308
+
309
+
310
+
311
+ String result = ERROR;
312
+
313
+
314
+
315
+ AddressDTO addressDTO = new AddressDTO();
316
+
317
+
318
+
319
+ List<String> errorMsg = new ArrayList<String>();
320
+
321
+
322
+
323
+ addressDTO = (AddressDTO)session.get("AddressDTO");
324
+
325
+
326
+
327
+ AddressRegiCompleteDAO addressRegiCompleteDAO = new AddressRegiCompleteDAO();
328
+
329
+
330
+
331
+ //// 全く同じ内容のものが既にDBに格納されていないか判定。
332
+
333
+ errorMsg = addressRegiCompleteDAO.doubleCheck(addressDTO);
334
+
335
+ if(!errorMsg.isEmpty()) {
336
+
337
+ return result;
338
+
339
+ }
340
+
341
+
342
+
343
+ int count = addressRegiCompleteDAO.registerAddress(addressDTO);
344
+
345
+ // countで登録されたかの判定。
346
+
347
+ if(count > 0) {
348
+
349
+ session.remove("AddressDTO");
350
+
351
+ result = SUCCESS;
352
+
353
+ }
354
+
355
+
356
+
357
+ return result;
358
+
359
+ }
360
+
361
+
362
+
363
+
364
+
365
+ public Map<String,Object> getSession(){
366
+
367
+ return session;
368
+
369
+ }
370
+
371
+ public void setSession(Map<String,Object> session) {
372
+
373
+ this.session = session;
374
+
375
+ }
376
+
377
+
378
+
379
+ }
380
+
381
+ ```
382
+
383
+
384
+
97
385
  思い付く限りでコードを書いて見たのですが、現状、全く同じ宛先情報でも登録されてしまいます。
98
386
 
99
387
 

2

コード修正

2018/05/21 08:46

投稿

Tatsuo_Iriyama
Tatsuo_Iriyama

スコア50

test CHANGED
File without changes
test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  if(rs.getInt("count") > 0) {
68
68
 
69
- errorMsg.add(rs.getString("count") + "こちらの宛先は既に登録されています");
69
+ errorMsg.add("こちらの宛先は既に登録されています");
70
70
 
71
71
  }
72
72
 

1

コード修正

2018/05/21 08:14

投稿

Tatsuo_Iriyama
Tatsuo_Iriyama

スコア50

test CHANGED
File without changes
test CHANGED
@@ -64,8 +64,6 @@
64
64
 
65
65
 
66
66
 
67
- System.out.println(rs);
68
-
69
67
  if(rs.getInt("count") > 0) {
70
68
 
71
69
  errorMsg.add(rs.getString("count") + "こちらの宛先は既に登録されています");