首页 > 解决方案 > 如何解决“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)

该节点未启动并运行,我已安装所有必要的软件包。我尝试调试,但它们似乎都不起作用。如何解决这个问题?我无法得到任何结果。

标签: node.jsnode-modules

解决方案


推荐阅读