Использование asyn c ожидает запуска SQL Серверная хранимая процедура в Nodejs - PullRequest
0 голосов
/ 05 марта 2020

Я новичок в использовании SQL Сервер с 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?

1 Ответ

0 голосов
/ 05 марта 2020

Быстрый просмотр документации показывает, как добавить параметры ввода / вывода. Например:

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 (здесь предполагается, что они оба уже определены в хранимой процедуре). Выходной параметр позже можно было наблюдать в result.output.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...