質問編集履歴

3

質問文修正しました。

2020/11/30 00:23

投稿

kansai5963
kansai5963

スコア23

test CHANGED
File without changes
test CHANGED
@@ -130,7 +130,7 @@
130
130
 
131
131
  content.forEach(function(value) {
132
132
 
133
- console.log('->name='+value.name);
133
+ console.log('->id='+value.id);
134
134
 
135
135
  });
136
136
 

2

質問文修正しました。

2020/11/30 00:23

投稿

kansai5963
kansai5963

スコア23

test CHANGED
File without changes
test CHANGED
@@ -138,7 +138,7 @@
138
138
 
139
139
 
140
140
 
141
- if (content[0].name > 0) {
141
+ if (content[0].id > 0) {
142
142
 
143
143
 
144
144
 

1

質問文修正しました。

2020/11/30 00:22

投稿

kansai5963
kansai5963

スコア23

test CHANGED
File without changes
test CHANGED
@@ -30,141 +30,319 @@
30
30
 
31
31
  ```javascript
32
32
 
33
- // SQL処理
34
-
35
- var connection = new tedious.Connection(config);
36
-
37
- var content2 = []; // DBからselectした結果を格納する変数
38
-
39
-
40
-
41
- var Request = require('tedious').Request;
42
-
43
-
44
-
45
- var sql2="select password from t_table where id ='"+id+"'";
46
-
47
- console.log('->sql2' + sql2);
48
-
49
- var request2 = new Request(sql2, function(err3) {
50
-
51
- if (err3) {
52
-
53
- console.log("-> err3 (" + err3 + ")");// エラー発生
54
-
55
- // 接続を解除
56
-
57
- connection.close();
33
+ // SQL処理
34
+
35
+ var connection = new tedious.Connection(config);
36
+
37
+ var content = []; // DBからselectした結果を格納する変数
38
+
39
+
40
+
41
+ connection.on('connect', function(err1) {
42
+
43
+ if (err1) {
44
+
45
+ console.log("-> error (" + err1 + ")");
46
+
47
+ } else {
48
+
49
+
50
+
51
+ //var TYPES = require('tedious').TYPES;
52
+
53
+ var Request = require('tedious').Request;
54
+
55
+ var sql="select count(*) as id from t_table1 where id='" + xx + "'";
56
+
57
+ console.log('->sql' + sql);
58
+
59
+ var request = new Request(sql, function(err2) {
60
+
61
+ if (err2) {
62
+
63
+ console.log("-> err2 (" + err2 + ")");
64
+
65
+ // 接続を解除
66
+
67
+ connection.close();
68
+
69
+
70
+
71
+ var data = {
72
+
73
+ content: 'IDまたはパスワードが異なっています。正しく入力して下さい。3',
74
+
75
+ disabled : "",
76
+
77
+ color : "red"
78
+
79
+ };
80
+
81
+ res.render('login',data);
82
+
83
+ } else {
84
+
85
+ console.log("-> requestCompleted");
86
+
87
+ // 接続を解除
88
+
89
+ connection.close();
90
+
91
+ }
92
+
93
+ });
94
+
95
+ var result = {};
96
+
97
+
98
+
99
+ // 出力取り出し
100
+
101
+ request.on('row', function(columns) {
102
+
103
+ columns.forEach(function(column) {
104
+
105
+ if (column.value === null) {
106
+
107
+ console.log('NULL');
108
+
109
+ } else {
110
+
111
+ result[column.metadata.colName] = column.value;
112
+
113
+ }
114
+
115
+ });
116
+
117
+ content.push(result);
118
+
119
+ result = {};
120
+
121
+ });
122
+
123
+
124
+
125
+ // DB接続を終了した際のイベントハンドラ
126
+
127
+ // DB接続を切断した後に画面を描写する
128
+
129
+ connection.on('end', function () {
130
+
131
+ content.forEach(function(value) {
132
+
133
+ console.log('->name='+value.name);
134
+
135
+ });
136
+
137
+ console.log("disconnected");
138
+
139
+
140
+
141
+ if (content[0].name > 0) {
142
+
143
+
144
+
145
+ connection.on('connect', function(err3) {
146
+
147
+ if (err3) {
148
+
149
+ console.log("-> error (" + err3 + ")");
150
+
151
+ } else {
152
+
153
+
154
+
155
+ console.log('->error_null');
156
+
157
+
158
+
159
+ // SQL処理
160
+
161
+ var connection = new tedious.Connection(config);
162
+
163
+ var content2 = []; // DBからselectした結果を格納する変数
164
+
165
+
166
+
167
+ var Request = require('tedious').Request;
168
+
169
+
170
+
171
+ var sql2="select password from t_table1 where id='"+xx+"'";
172
+
173
+ console.log('->sql2' + sql2);
58
174
 
59
175
 
60
176
 
61
- var data = {
62
-
63
- content: 'IDが異なっています。正しく入力して下さい。1',
64
-
65
- disabled : "",
66
-
67
- color : "red"
68
-
69
- };
70
-
71
- res.render('login',data);
72
-
73
- } else {
74
-
75
- console.log("-> requestCompleted");
76
-
77
- // 接続を解除
78
-
79
- connection.close();
80
-
81
- }
82
-
83
-
84
-
85
- });
86
-
87
- var result2 = {};
88
-
89
-
90
-
91
- // 出力取り出し
92
-
93
- request2.on('row', function(columns2) {
94
-
95
- columns2.forEach(function(column2) {
96
-
97
- if (column2.value === null) {
98
-
99
- console.log('NULL');
100
-
101
- } else {
102
-
103
- result2[column.metadata.colName] = column.value;
104
-
105
- }
106
-
107
- });
108
-
109
- content2.push(result2);
110
-
111
- result2 = {};
112
-
113
- });
114
-
115
-
116
-
117
- connection.on('end', function () {
118
-
119
- content2.forEach(function(value) {
120
-
121
- console.log('connection_end2');
122
-
123
- });
124
-
125
- console.log("disconnected");
126
-
127
- var dbpw = content2[0].password;
128
-
129
- console.log('->dbpw'+ dbpw);
130
-
131
-
132
-
133
- if (pw == dbpw) {
134
-
135
-
136
-
137
- res.redirect('/homepage');
138
-
139
-
140
-
141
- } else {
142
-
143
- var data = {
144
-
145
- content: 'パスワードが不正です。',
146
-
147
- disabled : '',
148
-
149
- color : "red"
150
-
151
- };
152
-
153
- res.render('login',data);
154
-
155
-
156
-
157
- }
158
-
159
-
160
-
161
- });
162
-
163
-
164
-
165
- //SQL実行
166
-
167
- connection.execSql(request2);
177
+ var request2 = new Request(sql2, function(err4) {
178
+
179
+ if (err4) {
180
+
181
+ console.log("-> err4 (" + err4 + ")");
182
+
183
+ // 接続を解除
184
+
185
+ connection.close();
186
+
187
+
188
+
189
+ var data = {
190
+
191
+ content: 'IDが異なっています。正しく入力して下さい。1',
192
+
193
+ disabled : "",
194
+
195
+ color : "red"
196
+
197
+ };
198
+
199
+ res.render('login',data);
200
+
201
+ } else {
202
+
203
+ console.log("-> request2Completed");
204
+
205
+ // 接続を解除
206
+
207
+ connection.close();
208
+
209
+ }
210
+
211
+ });
212
+
213
+ var result2 = {};
214
+
215
+
216
+
217
+ // 出力取り出し
218
+
219
+ request2.on('row', function(columns2) {
220
+
221
+ columns2.forEach(function(column2) {
222
+
223
+ if (column2.value === null) {
224
+
225
+ console.log('NULL');
226
+
227
+ } else {
228
+
229
+ result2[column.metadata.colName] = column2.value;
230
+
231
+ }
232
+
233
+ });
234
+
235
+ content2.push(result2);
236
+
237
+ result2 = {};
238
+
239
+ });
240
+
241
+
242
+
243
+ // DB接続を終了した際のイベントハンドラ
244
+
245
+ // DB接続を切断した後に画面を描写する
246
+
247
+ connection.on('end', function () {
248
+
249
+ content2.forEach(function(value) {
250
+
251
+ console.log('connection_end2');
252
+
253
+ });
254
+
255
+ console.log("disconnected");
256
+
257
+ var dbpw = content2[0].password;
258
+
259
+
260
+
261
+ console.log('->dbpw'+ dbpw);
262
+
263
+
264
+
265
+ if (pw == dbpw) {
266
+
267
+
268
+
269
+ //入力内容とDBのデータが一致した場合
270
+
271
+ res.redirect('/homepage');
272
+
273
+
274
+
275
+ } else {
276
+
277
+ var data = {
278
+
279
+ //パスワード入力ミス
280
+
281
+ content: 'パスワードが不正です。',
282
+
283
+ disabled : '',
284
+
285
+ color : "red"
286
+
287
+ };
288
+
289
+ res.render('login',data);
290
+
291
+ }
292
+
293
+
294
+
295
+ });
296
+
297
+
298
+
299
+ //SQL実行
300
+
301
+ connection.execSql(request2);
302
+
303
+
304
+
305
+ }
306
+
307
+ });
308
+
309
+
310
+
311
+ } else {
312
+
313
+ var data = {
314
+
315
+ //該当IDが見つからない場合
316
+
317
+ content: 'idが不正です。',
318
+
319
+ disabled : "",
320
+
321
+ color : "red"
322
+
323
+ };
324
+
325
+ res.render('login',data);
326
+
327
+ connection.end();
328
+
329
+ }
330
+
331
+ });
332
+
333
+
334
+
335
+ //SQL実行
336
+
337
+ connection.execSql(request);
338
+
339
+
340
+
341
+
342
+
343
+ }
344
+
345
+ });
168
346
 
169
347
 
170
348