问题描述
我正在编写一个连接到数据库的新方法,运行 SQL 查询并在每次从前端发出请求时关闭该连接。对于我要运行的每个查询,一次又一次地建立和关闭与数据库的连接。这会影响性能吗?这是正确的方法还是有更好的方法?
app.post('/register',(req,res) =>{
registerDb().then(resp => {
res.json({"message" : resp})})
.catch(err => {
console.log(err);
})
})
app.post('/signin',res) => {
checkAuth(req.body).then(response => {
res.send(response);
})
.catch(err => {
console.log(err);
});
})
app.listen(4000);
async function registerDb() {
let conn;
try {
conn = await oracledb.getConnection(config)
let result = await conn.execute(
`INSERT INTO "User" VALUES (name,email,id,password,age)`,);
console.log("Rows inserted: " + result.rowsAffected); // 1
console.log("ROWID of new row: " + result.lastRowid);
return result.rowsAffected;
} catch (err) {
console.log('Ouch!',err)
return err.message;
} finally {
if (conn) { // conn assignment worked,need to close
await conn.close()
}
}
}
async function checkAuth(data) {
let conn;
try {
conn = await oracledb.getConnection(config)
let result = await conn.execute(
`Select name
from "User"
where email = :email and password = :password`,{
email : {val: data.email},password: {val: data.password}
}
);
return result.rows;
} catch (err) {
console.log('Ouch!',need to close
await conn.close()
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)