質問するログイン新規登録

質問編集履歴

12

変更メソッド追加っす

2021/01/29 07:44

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -97,7 +97,17 @@
97
97
 
98
98
  ### 解決後の備忘録
99
99
  今回の変更箇所を記載しておきます。
100
+ `function` から `const 変数名` に変更。
100
101
  ```express
102
+ const getSQLData = async()=>{
103
+ sql = `select * from test where yymm = '${yymm}'`;
104
+ // グローバル変数にセット
105
+ var [Gl_Data] = await pool.query(Sql);
106
+ ...
107
+ };
108
+ ```
109
+ 変更後がこちら↓
110
+ ```express
101
111
  const express = require('express');
102
112
  const app = express()
103
113
  const mysql = require('mysql2/promise');

11

修正どす

2021/01/29 07:44

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -22,6 +22,7 @@
22
22
  ```express
23
23
  const express = require('express');
24
24
  const app = express()
25
+ const mysql = require('mysql2/promise');
25
26
  // ~省略~
26
27
  const ddate = new Date();// 今日を取得
27
28
  var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
@@ -99,6 +100,7 @@
99
100
  ```express
100
101
  const express = require('express');
101
102
  const app = express()
103
+ const mysql = require('mysql2/promise');
102
104
  // グローバル宣言
103
105
  var tmpData;
104
106
  var gl_Data;

10

修正どす

2021/01/29 07:38

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -154,7 +154,7 @@
154
154
  ...
155
155
  });
156
156
  }
157
- catch(err){
157
+ .catch(err){
158
158
  // html側にエラー状況を通告
159
159
  response.status(404).send('404 error, Page Not found');
160
160
  // コンソール側にエラーを表示

9

修正どす

2021/01/29 07:33

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -149,7 +149,7 @@
149
149
  var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
150
150
  var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
151
151
  response.render('test.ejs',{
152
- data: data
152
+ data: data,
153
153
  item: item,
154
154
  ...
155
155
  });

8

修正どす

2021/01/29 07:31

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -59,7 +59,7 @@
59
59
  // ここでは1個ですが、実際には5個のSQLを動かしていて
60
60
  // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
61
61
  response.render('test.ejs',{
62
- data: data
62
+ data: data,
63
63
  item: item,
64
64
  ...
65
65
  });

7

修正どす

2021/01/29 07:31

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -146,11 +146,11 @@
146
146
  app.use('/*',async( request, response, next ) => {
147
147
  try{
148
148
  // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
149
- gl_Data = getColumnData(...);// 配列に置き換え
149
+ var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
150
- gl_Item = getColumnData(...);// 配列に置き換え
150
+ var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
151
151
  response.render('test.ejs',{
152
- data: gl_Data
152
+ data: data
153
- item: gl_Item,
153
+ item: item,
154
154
  ...
155
155
  });
156
156
  }

6

修正どす

2021/01/29 07:30

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -131,16 +131,16 @@
131
131
  app.post('/views/', async(request, response, next) => {
132
132
  yymm = ${request.body.test}`; // postで年月情報取得
133
133
  // SQLによるDBデータ取得
134
- await getSQLData();// await欲しいっす
134
+ await getSQLData();
135
135
  next();
136
136
  });
137
- app.get('/', ,async( request, response, next ) => {
137
+ app.get('/', async( request, response, next ) => {
138
138
  moveImage();// 取得写真を別フォルダに移動
139
139
  makeMovie();// 写真から動画生成 exec(`ffmpeg ...
140
140
  console.log("app.get");
141
141
 
142
142
  // SQLによるDBデータ取得
143
- await getSQLData();// await欲しいっす
143
+ await getSQLData();
144
144
  next();
145
145
  });
146
146
  app.use('/*',async( request, response, next ) => {

5

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

2021/01/29 07:26

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -143,7 +143,7 @@
143
143
  await getSQLData();// await欲しいっす
144
144
  next();
145
145
  });
146
- app.use('/*',async( request, response, **next** ) => {
146
+ app.use('/*',async( request, response, next ) => {
147
147
  try{
148
148
  // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
149
149
  gl_Data = getColumnData(...);// 配列に置き換え

4

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

2021/01/29 07:18

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -99,9 +99,10 @@
99
99
  ```express
100
100
  const express = require('express');
101
101
  const app = express()
102
- **var tmpData;** // グローバル宣言
102
+ // グローバル宣言
103
+ var tmpData;
103
- **var gl_Data;**
104
+ var gl_Data;
104
- **var gl_Item;**
105
+ var gl_Item;
105
106
  ...
106
107
  // ~省略~
107
108
  const ddate = new Date();// 今日を取得
@@ -111,12 +112,12 @@
111
112
  // ここで連想配列から配列にセットし直してreturn
112
113
  }
113
114
  // SQLの実行関数
114
- **const getSQLData = async()=>{**
115
+ const getSQLData = async()=>{
115
116
  // SQLによるDBデータ取得
116
117
  sql = `select * from test where yymm = '${yymm}'`;
117
118
  var [Gl_Data] = await pool.query(Sql);
118
119
  ...
119
- **};**
120
+ };
120
121
 
121
122
  app.set('ejs', ejs.renderFile);
122
123
  const pool = mysql.createPool({
@@ -130,7 +131,7 @@
130
131
  app.post('/views/', async(request, response, next) => {
131
132
  yymm = ${request.body.test}`; // postで年月情報取得
132
133
  // SQLによるDBデータ取得
133
- **await getSQLData();**// await欲しいっす
134
+ await getSQLData();// await欲しいっす
134
135
  next();
135
136
  });
136
137
  app.get('/', ,async( request, response, next ) => {
@@ -139,7 +140,7 @@
139
140
  console.log("app.get");
140
141
 
141
142
  // SQLによるDBデータ取得
142
- **await getSQLData();**// await欲しいっす
143
+ await getSQLData();// await欲しいっす
143
144
  next();
144
145
  });
145
146
  app.use('/*',async( request, response, **next** ) => {
@@ -155,7 +156,7 @@
155
156
  }
156
157
  catch(err){
157
158
  // html側にエラー状況を通告
158
- **response.status(404).send('404 error, Page Not found');**
159
+ response.status(404).send('404 error, Page Not found');
159
160
  // コンソール側にエラーを表示
160
161
  console.log(`catch: ${err}`);
161
162
  };

3

備忘録追加

2021/01/29 07:16

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -92,4 +92,78 @@
92
92
  ```
93
93
  また、こうした方がいいんじゃない?という上記ソースを全く変えてしまう
94
94
  お答えでも、全然かまいません。
95
- すいませんが、よろしくお願い致します。
95
+ すいませんが、よろしくお願い致します。
96
+
97
+ ### 解決後の備忘録
98
+ 今回の変更箇所を記載しておきます。
99
+ ```express
100
+ const express = require('express');
101
+ const app = express()
102
+ **var tmpData;** // グローバル宣言
103
+ **var gl_Data;**
104
+ **var gl_Item;**
105
+ ...
106
+ // ~省略~
107
+ const ddate = new Date();// 今日を取得
108
+ var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
109
+
110
+ function getColumnData(num, result, column){
111
+ // ここで連想配列から配列にセットし直してreturn
112
+ }
113
+ // SQLの実行関数
114
+ **const getSQLData = async()=>{**
115
+ // SQLによるDBデータ取得
116
+ sql = `select * from test where yymm = '${yymm}'`;
117
+ var [Gl_Data] = await pool.query(Sql);
118
+ ...
119
+ **};**
120
+
121
+ app.set('ejs', ejs.renderFile);
122
+ const pool = mysql.createPool({
123
+ host: 'localhost',
124
+ user: 'root',
125
+ password: 'test',
126
+ database: 'test',
127
+ });
128
+ app.use('/', express.static(path.join(__dirname, 'stream')));// Movie
129
+ app.use('/', express.static(path.join(__dirname, 'image')));// mp4ファイルのサムネイル用
130
+ app.post('/views/', async(request, response, next) => {
131
+ yymm = ${request.body.test}`; // postで年月情報取得
132
+ // SQLによるDBデータ取得
133
+ **await getSQLData();**// await欲しいっす
134
+ next();
135
+ });
136
+ app.get('/', ,async( request, response, next ) => {
137
+ moveImage();// 取得写真を別フォルダに移動
138
+ makeMovie();// 写真から動画生成 exec(`ffmpeg ...
139
+ console.log("app.get");
140
+
141
+ // SQLによるDBデータ取得
142
+ **await getSQLData();**// await欲しいっす
143
+ next();
144
+ });
145
+ app.use('/*',async( request, response, **next** ) => {
146
+ try{
147
+ // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
148
+ gl_Data = getColumnData(...);// 配列に置き換え
149
+ gl_Item = getColumnData(...);// 配列に置き換え
150
+ response.render('test.ejs',{
151
+ data: gl_Data
152
+ item: gl_Item,
153
+ ...
154
+ });
155
+ }
156
+ catch(err){
157
+ // html側にエラー状況を通告
158
+ **response.status(404).send('404 error, Page Not found');**
159
+ // コンソール側にエラーを表示
160
+ console.log(`catch: ${err}`);
161
+ };
162
+ console.log("Successful");
163
+ });
164
+
165
+ https.createServer(options, app).listen(port,() => {
166
+ console.log('server start');
167
+ });
168
+ ```
169
+ うん、スッキリしました。

2

変数前後の[]を削除

2021/01/29 07:15

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -55,7 +55,7 @@
55
55
  // SQLによるDBデータ取得
56
56
  sql = `select * from test where yymm = '${yymm}'`;
57
57
  var [data] = await pool.query(Sql);
58
- // var [data] = await getSQLData(sql); とセット
58
+ // var data = await getSQLData(sql); とセット
59
59
  // ここでは1個ですが、実際には5個のSQLを動かしていて
60
60
  // getColumnDataモジュールで配列に置き換えた処理を4個動かしています
61
61
  response.render('test.ejs',{

1

一か所だけの表記訂正

2021/01/28 08:27

投稿

HYDESA
HYDESA

スコア8

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
  複数回処理されていることがわかりました。
10
10
 
11
11
  この事から、SQLを無駄に動かさないように
12
- app.useの共通処理をやめ、
12
+ `app.use`の共通処理をやめ、
13
13
  `get` `post` ともに1度だけSQLを実行すべく
14
14
  `function`でモジュール化しましたが、
15
15
  知識が乏しいので、`undefined is not a function` と