首页 > 解决方案 > 在 mssql 中使用各自的 id 更新多行和多列

问题描述

我使用 sql join 查询以 excel 格式从数据库中提取数据。我在该表格中修改了几列数据。我想使用相应的行 ID 将修改后的数据更新到数据库中。当我迭代 stack: 时Error: aborted被抛出。

下面是我的代码

sql.connect(db, async (err)=> {
  if (err)
    console.log(err);
  var request = new sql.Request();
var workbook = XLSX.readFile('2021-08-30-202129.xlsx');
var sheet_name_list = workbook.SheetNames;
var xlData = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[1]]);
console.log(xlData);
xlData.forEach(async (item)=>{
  let returnquery = await ` UPDATE [billing] SET notes='${item.notes}' WHERE id='${item.id}'`
    request.query(returnquery, function (err, result) {
      if (err) {
        console.log(err)
      }
      else{
        console.log('result', result);
      }
      sql.close();
    }); 
  })
  }); 

标签: javascriptnode.jssql-server

解决方案


我通常使用工作台应用程序,并打开一个查询窗口,以确保我有正确的 SQL 语法。(console.log 在您调用数据库之前立即记录您的 sql 语句,然后将其复制到工作台)。

我通常会遇到一些小错字问题,这使我可以轻松地解决这个问题,然后返回代码并修复错误。

我也认为你有 ' 通过你的变量的问题。那些应该被删除,因为你已经在 `` 风格。SQL 会误解这些。


推荐阅读