質問編集履歴

3

テーブル定義、コードの追加を行いました

2020/06/11 01:01

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  "jdbc:mysql://localhost:3306/local_db?useUnicode=true&characterEncoding=utf8", "root",
42
42
 
43
- "yamashita_fuma");
43
+ "id");
44
44
 
45
45
  System.out.println("MySQLに接続できました。");
46
46
 
@@ -63,3 +63,189 @@
63
63
  Java
64
64
 
65
65
  ```
66
+
67
+
68
+
69
+ CREATE TABLE `t_users` (
70
+
71
+ `copcod` varchar(4) NOT NULL,
72
+
73
+ `empnum` varchar(8) NOT NULL,
74
+
75
+ `knjnamsei` varchar(40) DEFAULT NULL,
76
+
77
+ `knjnammei` varchar(40) DEFAULT NULL,
78
+
79
+ PRIMARY KEY (`copcod`,`empnum`)
80
+
81
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8
82
+
83
+ ```ここに言語を入力
84
+
85
+ TABLE定義
86
+
87
+ ``````ここに言語を入力
88
+
89
+ package MVC;
90
+
91
+
92
+
93
+ import java.io.IOException;
94
+
95
+ import java.sql.*;
96
+
97
+
98
+
99
+ import javax.servlet.ServletException;
100
+
101
+
102
+
103
+ public class UsersDelete {
104
+
105
+ private int result;
106
+
107
+ private String resultCopcod;
108
+
109
+ private String resultEmpnum;
110
+
111
+ private String resultKnjnamsei;
112
+
113
+ private String resultKnjnammei;
114
+
115
+
116
+
117
+ public String getresultDelreteCopcod() {
118
+
119
+ return this.resultCopcod;
120
+
121
+ }
122
+
123
+
124
+
125
+ public String getresultDelreteEmpnum() {
126
+
127
+ return this.resultEmpnum;
128
+
129
+ }
130
+
131
+
132
+
133
+ public String getresultDelreteKnjnamsei() {
134
+
135
+ return this.resultKnjnamsei;
136
+
137
+ }
138
+
139
+
140
+
141
+ public String getresultDelreteKnjnammei() {
142
+
143
+ return this.resultKnjnammei;
144
+
145
+ }
146
+
147
+
148
+
149
+ public int getResult() {
150
+
151
+ return this.result;
152
+
153
+ }
154
+
155
+
156
+
157
+ public void processing(String copcod, String empnum, String knjnamsei, String knjnammei)
158
+
159
+ throws ServletException, IOException {
160
+
161
+
162
+
163
+ Connection con = null;
164
+
165
+ try {
166
+
167
+ // JDBCドライバのロード - JDBC4.0(JDK1.6)以降は不要
168
+
169
+ Class.forName("com.mysql.jdbc.Driver");
170
+
171
+ // MySQLに接続
172
+
173
+ con = DriverManager.getConnection(
174
+
175
+ "jdbc:mysql://localhost:3306/local_db?useUnicode=true&characterEncoding=utf8", "root",
176
+
177
+ "id");
178
+
179
+ System.out.println("MySQLに接続できました。");
180
+
181
+ String sql = "delete from t_users where copcod= ? and empnum =? and knjnamsei =? and knjnammei =?";
182
+
183
+ PreparedStatement stmt = con.prepareStatement(sql);
184
+
185
+
186
+
187
+ stmt.setString(1, copcod);
188
+
189
+ stmt.setString(2, empnum);
190
+
191
+ stmt.setString(3, knjnamsei);
192
+
193
+ stmt.setString(4, knjnammei);
194
+
195
+ int result = stmt.executeUpdate(sql);
196
+
197
+
198
+
199
+ System.out.println("更新件数は" + result + "です。");
200
+
201
+ this.result = result;
202
+
203
+
204
+
205
+ this.resultCopcod = copcod;
206
+
207
+ this.resultEmpnum = empnum;
208
+
209
+ this.resultKnjnamsei = knjnamsei;
210
+
211
+ this.resultKnjnammei = knjnammei;
212
+
213
+
214
+
215
+ } catch (ClassNotFoundException e) {
216
+
217
+ System.out.println("JDBCドライバのロードに失敗しました。");
218
+
219
+ } catch (SQLException e) {
220
+
221
+ System.out.println("MySQLに接続できませんでした。");
222
+
223
+ System.out.println(e.getMessage());
224
+
225
+ } finally {
226
+
227
+ if (con != null) {
228
+
229
+ try {
230
+
231
+ con.close();
232
+
233
+ } catch (SQLException e) {
234
+
235
+ System.out.println("MySQLのクローズに失敗しました。");
236
+
237
+ }
238
+
239
+ }
240
+
241
+ }
242
+
243
+
244
+
245
+ }
246
+
247
+ }
248
+
249
+
250
+
251
+ ```

2

使用しているDBの追記

2020/06/11 01:01

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -11,6 +11,10 @@
11
11
  copcod、empnum、knjnamsei、knjnammei
12
12
 
13
13
  の変数の中には値が入っている事、確認済です。
14
+
15
+ 使用しているDBはMySQLです。
16
+
17
+
14
18
 
15
19
  ```### 発生している問題・エラーメッセージ
16
20
 

1

Orlofsky様にご指摘いただいた部分を修正いたしました。

2020/06/11 00:28

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- バインド変数を使いDBに接続する方法
1
+ バインド変数を使いDBに接続する方法 CREATE TABLE
test CHANGED
@@ -1,5 +1,3 @@
1
- ### 発生している問題・エラーメッセージ
2
-
3
1
  以下のエラーが発生し困っています。
4
2
 
5
3
  色々と試してみましたが根本的な原因が何なのか分かっていないので解決策が見つかりません。
@@ -14,13 +12,17 @@
14
12
 
15
13
  の変数の中には値が入っている事、確認済です。
16
14
 
17
- ```
15
+ ```### 発生している問題・エラーメッセージ
18
16
 
19
- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? and empnum =? and knjnamsei =? and knjnammei =?' at line 1
17
+ You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? and empnum =? and knjnamsei =? and knjnammei =?' at line 1
20
18
 
21
19
 
22
20
 
23
21
  SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルをチェックして、近くで使用する正しい構文を確認してください。そしてエンプナム=?そしてクジュナムセイ=?そして、1行目で「クジュナムメイ=?」
22
+
23
+ ```
24
+
25
+
24
26
 
25
27
 
26
28