首页 > 解决方案 > 使用节点js将数据发送到mssql时获取空值

问题描述

如果有人可以帮助我,那就太好了。我是 node.js 的新手,我正在尝试将数据发送到我的初始项目的 MSSQL 数据库中,根据项目要求,我无法使用除 MSSQL 之外的任何其他数据库,并且我将错误值输入数据库当我执行插入查询时。我试图找出错误超过一天,但最终一无所获。谁能帮我解决这个错误。?

提前致谢。

   // Server.js


var express = require('express');
var app = express();
var port = process.env.port || 3000;

var bodyParser = require('body-parser');
// create application/x-www-form-urlencoded parser
app.use(bodyParser.urlencoded({ extended: true }));
// create application/json parser
app.use(bodyParser.json());

var ProductController = require('./Controller/ProductController')();


app.use("/app/Data", ProductController)

app.listen(port, function () {
    var datetime = new Date();
    var message = "Server runnning on Port:- " + port + "Started at :- " + datetime;
    console.log(message);
});



  //  App.js


var express = require('express');
var router = express.Router();
var sql = require("mssql");
var conn = require("../connection/connect")();

var routes = function () {
    router.route('/')
        .get(function (req, res) {
            conn.connect().then(function () {
                var sqlQuery = "SELECT * FROM ArduinoSensor";
                var req = new sql.Request(conn);
                req.query(sqlQuery).then(function (recordset) {
                    res.json(recordset.recordset);
                    conn.close();
                })
                    .catch(function (err) {
                        conn.close();
                        res.status(400).send("Error while Receive Data");
                    });
            })
                .catch(function (err) {
                    conn.close();
                    res.status(400).send("Error");
                });
        });
    router.route('/')
        .post(function (req, res) {
            conn.connect().then(function () {
                var transaction = new sql.Transaction(conn);
                transaction.begin().then(function () {
                    var request = new sql.Request(transaction);
                    request.input("start_time", sql.VarChar(50), req.body.start_time)
                    request.input("end_time", sql.VarChar(50), req.body.end_time)
                    request.input("length_time", sql.VarChar(50), req.body.length_time)
                    request.execute("Usp_InsertSensor").then(function () {
                        transaction.commit().then(function (recordSet) {
                            conn.close();
                            res.status(200).send(req.body);
                        }).catch(function (err) {
                            conn.close();
                            res.status(400).send("Error while inserting data");
                        });
                    }).catch(function (err) {
                        conn.close();
                        res.status(400).send("Error while inserting data");
                    });
                }).catch(function (err) {
                    conn.close();
                    res.status(400).send("Error while inserting data");
                });
            }).catch(function (err) {
                conn.close();
                res.status(400).send("Error while inserting data");
            });
        });

    return router;
};
module.exports = routes;

PS:-我附上了编码 结果图像的结果

标签: javascriptnode.jssql-server

解决方案


推荐阅读