簡體   English   中英

使用異步等待在 Nodejs 中運行 SQL Server 存儲過程

[英]Using async await to run SQL Server stored procedure in Nodejs

我是將 SQL Server 與 nodejs 結合使用的新手。 我正在使用node-mssql庫。 我發現存儲過程有點挑戰。

我的存儲過程是:

CREATE PROCEDURE [dbo].[sp_addStudent] 
    @StudentID int, 
    @StudentName varchar(50), 
    @TimeStamp datetime, 
    @Notes varchar(MAX) 
AS 
BEGIN 
    INSERT INTO Students (StudentID , StudentName , [TimeStamp], Notes) 
    VALUES (@StudentID , @StudentName , @TimeStamp, @Notes); 
END

我找到了一種使用 try catch 在線執行此存儲過程而無需參數的方法:

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
  }
};

如何使用 try catch 向存儲過程添加參數?

快速瀏覽文檔顯示了如何添加輸入/輸出參數。 例如:

const request = new sql.Request();
request.input('input_parameter', sql.Int, value);
request.output('output_parameter', sql.Int);
const result = await request.execute(procedureName);

這將包括一個名為value的變量作為名為input_parameter的輸入參數,並設置一個名為output_parameter的預期輸出參數(這里假設它們input_parameter在存儲過程中定義)。 稍后可以在result.output觀察到輸出參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM