質問編集履歴

12

変更メソッド追加っす

2021/01/29 07:44

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -196,8 +196,28 @@
196
196
 
197
197
  今回の変更箇所を記載しておきます。
198
198
 
199
+ `function` から `const 変数名` に変更。
200
+
199
201
  ```express
200
202
 
203
+ const getSQLData = async()=>{
204
+
205
+ sql = `select * from test where yymm = '${yymm}'`;
206
+
207
+ // グローバル変数にセット
208
+
209
+ var [Gl_Data] = await pool.query(Sql);
210
+
211
+ ...
212
+
213
+ };
214
+
215
+ ```
216
+
217
+ 変更後がこちら↓
218
+
219
+ ```express
220
+
201
221
  const express = require('express');
202
222
 
203
223
  const app = express()

11

修正どす

2021/01/29 07:44

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,8 @@
46
46
 
47
47
  const app = express()
48
48
 
49
+ const mysql = require('mysql2/promise');
50
+
49
51
  // ~省略~
50
52
 
51
53
  const ddate = new Date();// 今日を取得
@@ -200,6 +202,8 @@
200
202
 
201
203
  const app = express()
202
204
 
205
+ const mysql = require('mysql2/promise');
206
+
203
207
  // グローバル宣言
204
208
 
205
209
  var tmpData;

10

修正どす

2021/01/29 07:38

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -310,7 +310,7 @@
310
310
 
311
311
  }
312
312
 
313
- catch(err){
313
+ .catch(err){
314
314
 
315
315
  // html側にエラー状況を通告
316
316
 

9

修正どす

2021/01/29 07:33

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -300,7 +300,7 @@
300
300
 
301
301
  response.render('test.ejs',{
302
302
 
303
- data: data
303
+ data: data,
304
304
 
305
305
  item: item,
306
306
 

8

修正どす

2021/01/29 07:31

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -120,6 +120,186 @@
120
120
 
121
121
  response.render('test.ejs',{
122
122
 
123
+ data: data,
124
+
125
+ item: item,
126
+
127
+ ...
128
+
129
+ });
130
+
131
+ }
132
+
133
+ catch(err){
134
+
135
+ console.log(`catch: ${err}`);
136
+
137
+ };
138
+
139
+ console.log("Successful");
140
+
141
+ });
142
+
143
+
144
+
145
+ https.createServer(options, app).listen(port,() => {
146
+
147
+ console.log('server start');
148
+
149
+ });
150
+
151
+ ```
152
+
153
+ ```javascript
154
+
155
+ // console
156
+
157
+
158
+
159
+ node test.js
160
+
161
+ app.get
162
+
163
+ server start
164
+
165
+ Successful
166
+
167
+ Successful
168
+
169
+ ```
170
+
171
+ ### やった事
172
+
173
+ ```express
174
+
175
+ function getSQLData(sql){
176
+
177
+ var [data] = pool.query(sql);
178
+
179
+ return data;
180
+
181
+ }
182
+
183
+ ```
184
+
185
+ また、こうした方がいいんじゃない?という上記ソースを全く変えてしまう
186
+
187
+ お答えでも、全然かまいません。
188
+
189
+ すいませんが、よろしくお願い致します。
190
+
191
+
192
+
193
+ ### 解決後の備忘録
194
+
195
+ 今回の変更箇所を記載しておきます。
196
+
197
+ ```express
198
+
199
+ const express = require('express');
200
+
201
+ const app = express()
202
+
203
+ // グローバル宣言
204
+
205
+ var tmpData;
206
+
207
+ var gl_Data;
208
+
209
+ var gl_Item;
210
+
211
+ ...
212
+
213
+ // ~省略~
214
+
215
+ const ddate = new Date();// 今日を取得
216
+
217
+ var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
218
+
219
+
220
+
221
+ function getColumnData(num, result, column){
222
+
223
+ // ここで連想配列から配列にセットし直してreturn
224
+
225
+ }
226
+
227
+ // SQLの実行関数
228
+
229
+ const getSQLData = async()=>{
230
+
231
+ // SQLによるDBデータ取得
232
+
233
+ sql = `select * from test where yymm = '${yymm}'`;
234
+
235
+ var [Gl_Data] = await pool.query(Sql);
236
+
237
+ ...
238
+
239
+ };
240
+
241
+
242
+
243
+ app.set('ejs', ejs.renderFile);
244
+
245
+ const pool = mysql.createPool({
246
+
247
+ host: 'localhost',
248
+
249
+ user: 'root',
250
+
251
+ password: 'test',
252
+
253
+ database: 'test',
254
+
255
+ });
256
+
257
+ app.use('/', express.static(path.join(__dirname, 'stream')));// Movie
258
+
259
+ app.use('/', express.static(path.join(__dirname, 'image')));// mp4ファイルのサムネイル用
260
+
261
+ app.post('/views/', async(request, response, next) => {
262
+
263
+ yymm = ${request.body.test}`; // postで年月情報取得
264
+
265
+ // SQLによるDBデータ取得
266
+
267
+ await getSQLData();
268
+
269
+ next();
270
+
271
+ });
272
+
273
+ app.get('/', async( request, response, next ) => {
274
+
275
+ moveImage();// 取得写真を別フォルダに移動
276
+
277
+ makeMovie();// 写真から動画生成 exec(`ffmpeg ...
278
+
279
+ console.log("app.get");
280
+
281
+
282
+
283
+ // SQLによるDBデータ取得
284
+
285
+ await getSQLData();
286
+
287
+ next();
288
+
289
+ });
290
+
291
+ app.use('/*',async( request, response, next ) => {
292
+
293
+ try{
294
+
295
+ // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
296
+
297
+ var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
298
+
299
+ var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
300
+
301
+ response.render('test.ejs',{
302
+
123
303
  data: data
124
304
 
125
305
  item: item,
@@ -132,6 +312,12 @@
132
312
 
133
313
  catch(err){
134
314
 
315
+ // html側にエラー状況を通告
316
+
317
+ response.status(404).send('404 error, Page Not found');
318
+
319
+ // コンソール側にエラーを表示
320
+
135
321
  console.log(`catch: ${err}`);
136
322
 
137
323
  };
@@ -150,190 +336,4 @@
150
336
 
151
337
  ```
152
338
 
153
- ```javascript
154
-
155
- // console
156
-
157
-
158
-
159
- node test.js
160
-
161
- app.get
162
-
163
- server start
164
-
165
- Successful
166
-
167
- Successful
168
-
169
- ```
170
-
171
- ### やった事
172
-
173
- ```express
174
-
175
- function getSQLData(sql){
176
-
177
- var [data] = pool.query(sql);
178
-
179
- return data;
180
-
181
- }
182
-
183
- ```
184
-
185
- また、こうした方がいいんじゃない?という上記ソースを全く変えてしまう
186
-
187
- お答えでも、全然かまいません。
188
-
189
- すいませんが、よろしくお願い致します。
190
-
191
-
192
-
193
- ### 解決後の備忘録
194
-
195
- 今回の変更箇所を記載しておきます。
196
-
197
- ```express
198
-
199
- const express = require('express');
200
-
201
- const app = express()
202
-
203
- // グローバル宣言
204
-
205
- var tmpData;
206
-
207
- var gl_Data;
208
-
209
- var gl_Item;
210
-
211
- ...
212
-
213
- // ~省略~
214
-
215
- const ddate = new Date();// 今日を取得
216
-
217
- var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
218
-
219
-
220
-
221
- function getColumnData(num, result, column){
222
-
223
- // ここで連想配列から配列にセットし直してreturn
224
-
225
- }
226
-
227
- // SQLの実行関数
228
-
229
- const getSQLData = async()=>{
230
-
231
- // SQLによるDBデータ取得
232
-
233
- sql = `select * from test where yymm = '${yymm}'`;
234
-
235
- var [Gl_Data] = await pool.query(Sql);
236
-
237
- ...
238
-
239
- };
240
-
241
-
242
-
243
- app.set('ejs', ejs.renderFile);
244
-
245
- const pool = mysql.createPool({
246
-
247
- host: 'localhost',
248
-
249
- user: 'root',
250
-
251
- password: 'test',
252
-
253
- database: 'test',
254
-
255
- });
256
-
257
- app.use('/', express.static(path.join(__dirname, 'stream')));// Movie
258
-
259
- app.use('/', express.static(path.join(__dirname, 'image')));// mp4ファイルのサムネイル用
260
-
261
- app.post('/views/', async(request, response, next) => {
262
-
263
- yymm = ${request.body.test}`; // postで年月情報取得
264
-
265
- // SQLによるDBデータ取得
266
-
267
- await getSQLData();
268
-
269
- next();
270
-
271
- });
272
-
273
- app.get('/', async( request, response, next ) => {
274
-
275
- moveImage();// 取得写真を別フォルダに移動
276
-
277
- makeMovie();// 写真から動画生成 exec(`ffmpeg ...
278
-
279
- console.log("app.get");
280
-
281
-
282
-
283
- // SQLによるDBデータ取得
284
-
285
- await getSQLData();
286
-
287
- next();
288
-
289
- });
290
-
291
- app.use('/*',async( request, response, next ) => {
292
-
293
- try{
294
-
295
- // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
296
-
297
- var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
298
-
299
- var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
300
-
301
- response.render('test.ejs',{
302
-
303
- data: data
304
-
305
- item: item,
306
-
307
- ...
308
-
309
- });
310
-
311
- }
312
-
313
- catch(err){
314
-
315
- // html側にエラー状況を通告
316
-
317
- response.status(404).send('404 error, Page Not found');
318
-
319
- // コンソール側にエラーを表示
320
-
321
- console.log(`catch: ${err}`);
322
-
323
- };
324
-
325
- console.log("Successful");
326
-
327
- });
328
-
329
-
330
-
331
- https.createServer(options, app).listen(port,() => {
332
-
333
- console.log('server start');
334
-
335
- });
336
-
337
- ```
338
-
339
339
  うん、スッキリしました。

7

修正どす

2021/01/29 07:31

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -294,15 +294,15 @@
294
294
 
295
295
  // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
296
296
 
297
- gl_Data = getColumnData(...);// 配列に置き換え
297
+ var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
298
-
298
+
299
- gl_Item = getColumnData(...);// 配列に置き換え
299
+ var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
300
300
 
301
301
  response.render('test.ejs',{
302
302
 
303
- data: gl_Data
303
+ data: data
304
-
304
+
305
- item: gl_Item,
305
+ item: item,
306
306
 
307
307
  ...
308
308
 

6

修正どす

2021/01/29 07:30

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -264,13 +264,13 @@
264
264
 
265
265
  // SQLによるDBデータ取得
266
266
 
267
- await getSQLData();// await欲しいっす
267
+ await getSQLData();
268
268
 
269
269
  next();
270
270
 
271
271
  });
272
272
 
273
- app.get('/', ,async( request, response, next ) => {
273
+ app.get('/', async( request, response, next ) => {
274
274
 
275
275
  moveImage();// 取得写真を別フォルダに移動
276
276
 
@@ -282,7 +282,7 @@
282
282
 
283
283
  // SQLによるDBデータ取得
284
284
 
285
- await getSQLData();// await欲しいっす
285
+ await getSQLData();
286
286
 
287
287
  next();
288
288
 

5

ソース内は太字にならず...

2021/01/29 07:26

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -288,7 +288,7 @@
288
288
 
289
289
  });
290
290
 
291
- app.use('/*',async( request, response, **next** ) => {
291
+ app.use('/*',async( request, response, next ) => {
292
292
 
293
293
  try{
294
294
 

4

ソース内は太字にならず...

2021/01/29 07:18

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -200,11 +200,13 @@
200
200
 
201
201
  const app = express()
202
202
 
203
- **var tmpData;** // グローバル宣言
203
+ // グローバル宣言
204
+
204
-
205
+ var tmpData;
206
+
205
- **var gl_Data;**
207
+ var gl_Data;
206
-
208
+
207
- **var gl_Item;**
209
+ var gl_Item;
208
210
 
209
211
  ...
210
212
 
@@ -224,7 +226,7 @@
224
226
 
225
227
  // SQLの実行関数
226
228
 
227
- **const getSQLData = async()=>{**
229
+ const getSQLData = async()=>{
228
230
 
229
231
  // SQLによるDBデータ取得
230
232
 
@@ -234,7 +236,7 @@
234
236
 
235
237
  ...
236
238
 
237
- **};**
239
+ };
238
240
 
239
241
 
240
242
 
@@ -262,7 +264,7 @@
262
264
 
263
265
  // SQLによるDBデータ取得
264
266
 
265
- **await getSQLData();**// await欲しいっす
267
+ await getSQLData();// await欲しいっす
266
268
 
267
269
  next();
268
270
 
@@ -280,7 +282,7 @@
280
282
 
281
283
  // SQLによるDBデータ取得
282
284
 
283
- **await getSQLData();**// await欲しいっす
285
+ await getSQLData();// await欲しいっす
284
286
 
285
287
  next();
286
288
 
@@ -312,7 +314,7 @@
312
314
 
313
315
  // html側にエラー状況を通告
314
316
 
315
- **response.status(404).send('404 error, Page Not found');**
317
+ response.status(404).send('404 error, Page Not found');
316
318
 
317
319
  // コンソール側にエラーを表示
318
320
 

3

備忘録追加

2021/01/29 07:16

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -187,3 +187,151 @@
187
187
  お答えでも、全然かまいません。
188
188
 
189
189
  すいませんが、よろしくお願い致します。
190
+
191
+
192
+
193
+ ### 解決後の備忘録
194
+
195
+ 今回の変更箇所を記載しておきます。
196
+
197
+ ```express
198
+
199
+ const express = require('express');
200
+
201
+ const app = express()
202
+
203
+ **var tmpData;** // グローバル宣言
204
+
205
+ **var gl_Data;**
206
+
207
+ **var gl_Item;**
208
+
209
+ ...
210
+
211
+ // ~省略~
212
+
213
+ const ddate = new Date();// 今日を取得
214
+
215
+ var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
216
+
217
+
218
+
219
+ function getColumnData(num, result, column){
220
+
221
+ // ここで連想配列から配列にセットし直してreturn
222
+
223
+ }
224
+
225
+ // SQLの実行関数
226
+
227
+ **const getSQLData = async()=>{**
228
+
229
+ // SQLによるDBデータ取得
230
+
231
+ sql = `select * from test where yymm = '${yymm}'`;
232
+
233
+ var [Gl_Data] = await pool.query(Sql);
234
+
235
+ ...
236
+
237
+ **};**
238
+
239
+
240
+
241
+ app.set('ejs', ejs.renderFile);
242
+
243
+ const pool = mysql.createPool({
244
+
245
+ host: 'localhost',
246
+
247
+ user: 'root',
248
+
249
+ password: 'test',
250
+
251
+ database: 'test',
252
+
253
+ });
254
+
255
+ app.use('/', express.static(path.join(__dirname, 'stream')));// Movie
256
+
257
+ app.use('/', express.static(path.join(__dirname, 'image')));// mp4ファイルのサムネイル用
258
+
259
+ app.post('/views/', async(request, response, next) => {
260
+
261
+ yymm = ${request.body.test}`; // postで年月情報取得
262
+
263
+ // SQLによるDBデータ取得
264
+
265
+ **await getSQLData();**// await欲しいっす
266
+
267
+ next();
268
+
269
+ });
270
+
271
+ app.get('/', ,async( request, response, next ) => {
272
+
273
+ moveImage();// 取得写真を別フォルダに移動
274
+
275
+ makeMovie();// 写真から動画生成 exec(`ffmpeg ...
276
+
277
+ console.log("app.get");
278
+
279
+
280
+
281
+ // SQLによるDBデータ取得
282
+
283
+ **await getSQLData();**// await欲しいっす
284
+
285
+ next();
286
+
287
+ });
288
+
289
+ app.use('/*',async( request, response, **next** ) => {
290
+
291
+ try{
292
+
293
+ // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
294
+
295
+ gl_Data = getColumnData(...);// 配列に置き換え
296
+
297
+ gl_Item = getColumnData(...);// 配列に置き換え
298
+
299
+ response.render('test.ejs',{
300
+
301
+ data: gl_Data
302
+
303
+ item: gl_Item,
304
+
305
+ ...
306
+
307
+ });
308
+
309
+ }
310
+
311
+ catch(err){
312
+
313
+ // html側にエラー状況を通告
314
+
315
+ **response.status(404).send('404 error, Page Not found');**
316
+
317
+ // コンソール側にエラーを表示
318
+
319
+ console.log(`catch: ${err}`);
320
+
321
+ };
322
+
323
+ console.log("Successful");
324
+
325
+ });
326
+
327
+
328
+
329
+ https.createServer(options, app).listen(port,() => {
330
+
331
+ console.log('server start');
332
+
333
+ });
334
+
335
+ ```
336
+
337
+ うん、スッキリしました。

2

変数前後の[]を削除

2021/01/29 07:15

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
  var [data] = await pool.query(Sql);
114
114
 
115
- // var [data] = await getSQLData(sql); とセット
115
+ // var data = await getSQLData(sql); とセット
116
116
 
117
117
  // ここでは1個ですが、実際には5個のSQLを動かしていて
118
118
 

1

一か所だけの表記訂正

2021/01/28 08:27

投稿

HYDESA
HYDESA

スコア8

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  この事から、SQLを無駄に動かさないように
22
22
 
23
- app.useの共通処理をやめ、
23
+ `app.use`の共通処理をやめ、
24
24
 
25
25
  `get` `post` ともに1度だけSQLを実行すべく
26
26