首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js和MSSQL存储过程

问Node.js和MSSQL存储过程
EN

Stack Overflow用户
提问于 2014-09-16 03:04:14
回答 3查看 19.9K关注 0票数 3

从Node.js调用MSSQL的建议方法是什么(如果可能的话)。文档https://www.npmjs.org/package/mssql很棒,但是没有提到SP (存储过程)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-16 03:44:30

linked document确实提到了存储过程:

代码语言:javascript
复制
var request = new sql.Request(connection);
    request.input('input_parameter', sql.Int, 10);
    request.output('output_parameter', sql.VarChar(50));
    request.execute('procedure_name', function(err, recordsets, returnValue) {
        // ... error checks

        console.dir(recordsets);
    });

我不确定回答这个问题是否明智,但它对未来的读者/谷歌人可能是有价值的。

票数 10
EN

Stack Overflow用户

发布于 2017-01-06 21:11:43

随着ES6/7添加到JS中,它变得越来越好。这就是使用async/await实现这一点的方法

​

代码语言:javascript
复制
async function getDataFromProcedure(dbConfig, procedureName) {
  try {
    await sql.connect(dbConfig);
    const request = new sql.Request();
    recordsets = await request.execute(procedureName);
    return recordsets[0];
  } catch (error) {
    // handle error here
  }
};

​

票数 4
EN

Stack Overflow用户

发布于 2021-04-06 14:13:19

备用异步/等待语法。我喜欢.then()格式。

代码语言:javascript
复制
return await this.sqlConnectionPool.connect().then(async (pool) => {
  return await pool
    .request()
    .input("UserID", sql.Int, id)
    .execute("spADF_User_Get")
    .then((result) => {
      if (result.recordset && result.recordset.length === 1) {
        return result.recordset[0];
      } else {
        //Something bad happened
      }
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25855074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档