首页 > 解决方案 > node js SQL插入查询,构造函数/ JSON文本作为值参数

问题描述

第一个真正的应用程序,我一直试图在 SQL 中插入一个新行。

//This is the API endpoint 
Sponsor.create = (newSponsor, result)=> {

  var sqlStmt = 'insert into sponsors (SponsorName, SponsorState, SponsorDesc, pnfpExperience, Status) values ?'
        
  sql.query(sqlStmt, [newSponsor], (err, res)=> {
         
    if(err) {
    console.log(" error: ", err);
    result(null, err);
  }
  else{
    console.log(res);
    result(null, res);
   
  }
  });
  };

request.body 返回 JSON 文本,但不返回可在查询中使用的值数组。我不断收到 COUNT 错误或语法错误。我试过 JSON.parse 但我得到一个未定义的错误。我知道必须有一种简单的方法将 JSON 文本转换为正确的格式,但我不知道我缺少什么。“findAll”和“findById”路由工作,我可以插入静态值。我也试过带和不带括号的“newSponsor”。我会及时完善连接方法,但我只是想了解为什么这不起作用。任何帮助是极大的赞赏。

// Controller.js for Reference
exports.create = function(req, res) {
  const new_sponsor = new Sponsor(req.body);
      //handles null error
      if(req.body.constructor === Object && Object.keys(req.body).length === 0){
        res.status(400).send({ error:true, message: 'Please provide all required field' });
      }else{
                
      Sponsor.create(new_sponsor, function(err, sponsor) {
        if (err)
        res.send(err);
        res.json({error:false,message:"Sponsor added successfully!",data:sponsor});
      });
      }
      };

标签: node.jssql-serverrestsql-insert

解决方案


推荐阅读