node.js - 如何解决“TypeError: Cannot read property 'recordset' of undefined”的问题?
问题描述
我正在尝试运行节点。但是当我运行节点 server.js 时,我收到错误消息:无法读取属性“记录集”。
这是文件 server.js 中的代码
const pool = require('./dbcon.js');
exports.loginUser = (req, res, next) => {
// const sql = require('mssql/msnodesqlv8')
// const pool = new sql.ConnectionPool({
// database: 'WebAPIDB',
// server: 'IN2408811W1\\SQLEXPRESS',
// driver: 'msnodesqlv8',
// options: {
// trustedConnection: true
// }
// })
var username = req.body.username;
console.log("USERNAME FOR MPOSTMAN")
console.log(req.body.username)
var query = "select * from emp where username like '"+username+"'";
pool.connect().then(() => {
pool.request().query(query, (err, result) => {
console.log("*** RESULT FORM DB****")
console.log(result)
if (result.recordset.length == 0)
{
return res.status(200).json({
message: "Auth Failed"
});
}
else{
console.log("in else")
console.log(result.recordset[0].password)
console.log(req.body.password)
if (result.recordset[0].password == req.body.password) {
return res.status(200).json({
message: "true"
});
}
else {
return res.status(200).json({
message: "Auth Failed password"
});
}
}
})
})
}
exports.getAllData = (req,res,next)=>{
var query = "select * from projects";
pool.connect().then(() => {
pool.request().query(query, (err, result) => {
console.log(result.recordset)
pool.close()
return res.status(200).json({
Data:result.recordset
});
})
})
}
这是我得到的错误
PS C:\Users\Karthik.BV\backend> node server.js
C:\Users\Karthik.BV\backend\controllers\user.js:98
console.log(result.recordset)
^
TypeError: Cannot read property 'recordset' of undefined
at pool.request.query (C:\Users\Karthik.BV\backend\controllers\user.js:98:32)
at _query (C:\Users\Karthik.BV\node_modules\mssql\lib\base.js:1456:25)
at StreamEvents.req.once.err (C:\Users\Karthik.BV\node_modules\mssql\lib\msnodesqlv8.js:634:11)
at Object.onceWrapper (events.js:286:20)
at StreamEvents.emit (events.js:198:13)
at errors.forEach.err (C:\Users\Karthik.BV\node_modules\msnodesqlv8\lib\reader.js:33:20)
at Array.forEach (<anonymous>)
at routeStatementError (C:\Users\Karthik.BV\node_modules\msnodesqlv8\lib\reader.js:26:14)
at invokeObject.end (C:\Users\Karthik.BV\node_modules\msnodesqlv8\lib\reader.js:258:13)
at freeStatement (C:\Users\Karthik.BV\node_modules\msnodesqlv8\lib\driver.js:160:13)
该节点未启动并运行,我已安装所有必要的软件包。我尝试调试,但它们似乎都不起作用。如何解决这个问题?我无法得到任何结果。
解决方案
推荐阅读
- android - 使用 Kotlin 在 Android 上加载活动后如何使用 GridView 项目
- .htaccess - 如何使用 htaccess 删除部分 url
- python - python Matplotlib 冻结与线程
- aframe - 仅在 iOS 设备上,以编程方式创建资产时为黑色资产。在任何其他浏览器上都可以正常工作
- apache-spark - 从 pyspark 数据框中获取平均日期值
- c++ - 如何使用回车键创建新行,而不是输入字符串?
- c# - 辅助表中的 EF 重复值
- android - 如何使用 Recycler-View 将物品放入货架
- javascript - 无法在打字稿中导出类/任何内容 - 意外的令牌导出
- c - 比较表达式中的无符号整数溢出