質問編集履歴

4

情報の追記

2018/08/21 23:14

投稿

RogerFederer
RogerFederer

スコア19

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  }
64
64
 
65
-     //誕生が入力されていれば処理を実施
65
+     //誕生が入力されていれば処理を実施
66
66
 
67
67
  if (user.getBirthday()!=null) {
68
68
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  if (user.getType()!=0) {
88
88
 
89
-      //名前も誕生も空欄だった場合はwhere、どちらかもしくは両方入力されていたらAND
89
+      //名前も誕生も空欄だった場合はwhere、どちらかもしくは両方入力されていたらAND
90
90
 
91
91
  if(!flag){
92
92
 
@@ -122,7 +122,15 @@
122
122
 
123
123
  ② ★で示す、?に対応するパラメータインデックス値はどのように決めればよいでしょうか。
124
124
 
125
- 具体的に悩む点は、名前だけ空欄の場合、名前も誕生も空欄の場合、誕生だけ空欄の場合などどこが空欄のまま検索されるかで?の個数も変わるのでどうパラメータインデックス値を当て込めばいいかがわかりせん
125
+ 具体的に悩む点は、名前だけ空欄の場合、名前も誕生も空欄の場合、誕生だけ空欄の場合などどこが空欄のまま検索されるかで?の個数も変わるので、例えば名前だけ空欄にするとインデックス範囲は2でだと怒られます
126
+
127
+
128
+
129
+ java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).
130
+
131
+
132
+
133
+ ?の個数が選択次第で変わる状態でどうパラメータインデックス値を当て込めばいいかがわかりません。
126
134
 
127
135
 
128
136
 

3

情報の追記

2018/08/21 23:14

投稿

RogerFederer
RogerFederer

スコア19

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- jspのフォーム画面の検索項目3つ(氏名、誕生、職種)に入力された値をサーブレットで取得し、SQL文のwhere句以降に連結してmysqlデータベースのテーブル(usertable)から検索結果を取得したいです。
5
+ jspのフォーム画面の検索項目3つ(氏名、誕生、職種)に入力された値をサーブレットで取得し、SQL文のwhere句以降に連結してmysqlデータベースのテーブル(usertable)から検索結果を取得したいです。
6
6
 
7
7
 
8
8
 

2

誤記の修正

2018/08/21 23:01

投稿

RogerFederer
RogerFederer

スコア19

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ② AND検索をする
14
14
 
15
- リスト検索項目が空欄の場合は、その項目は絞り込み対象外とする。
15
+ ③ 検索項目が空欄の場合は、その項目は絞り込み対象外とする。
16
16
 
17
17
  ④ 全て空欄の場合、全レコードを取得する
18
18
 

1

誤記の修正

2018/08/21 20:36

投稿

RogerFederer
RogerFederer

スコア19

test CHANGED
File without changes
test CHANGED
@@ -70,13 +70,13 @@
70
70
 
71
71
  if(!flag){
72
72
 
73
- sql += " WHERE birthday like ?"; //nameが空欄の時はこの?が1番目
73
+ sql += " WHERE birthday like ?"; //名前が空欄の時はこの?が1番目
74
74
 
75
75
  flag = true;
76
76
 
77
77
  }else{
78
78
 
79
- sql += " AND birthday like ?";
79
+ sql += " AND birthday like ?"; //名前が入力されればこの?は2番目
80
80
 
81
81
  }
82
82
 
@@ -94,7 +94,7 @@
94
94
 
95
95
  }else{
96
96
 
97
- sql += " AND type like ?";//nameが空欄=この?が2番目
97
+ sql += " AND type like ?";
98
98
 
99
99
  }
100
100