entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Enviar parametros a un procedimiento almacenado con mssql y nodejs

Saludos

Si alguien ha usado mssql con nodejs me gustaria saber como enviar parametros a un procedimiento almacenado.

Aqui esta el enlace del modulo que uso: https://www.npmjs.com/package/mssql

O simplemente me pueden decir para que sirven estas funciones y como usarlas??

   request.input('input_parameter', sql.Int, 10);
   request.output('output_parameter', sql.VarChar(50));

Aqui el ejemplo que tengo:

var connection = new sql.Connection(config, function(err) {

    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) {

           console.dir(recordsets);
    });
});

1 Respuesta

3votos

carlossevi Puntos63560

En la misma página que enlazas viene la explicación, voy a intentar ponerte un ejemplo suponiendo el siguiente procedimiento almacenado:

CREATE PROCEDURE GetImmediateManager
   @employeeID INT,
   @managerID INT OUTPUT
AS
BEGIN
   SELECT @managerID = ManagerID 
   FROM HumanResources.Employee 
   WHERE EmployeeID = @employeeID
END

La función input sirve para añadir los parámetros de entrada:

// Ejemplo con el valor 10 para el parámetro
request.input('employeeID', sql.Int, 10);

Con la función output puedes definir los valores de salida del procedimiento. El nombre que le des te servirá para poder rescatar el valor tras la ejecución.

request.output('managerID', sql.Int);

El ejemplo finalmente quedaría:

var request = new sql.Request();
request.input('employeeID', sql.Int, 10);
request.output('managerID', sql.Int);
request.execute('GetImmediateManager', function(err, recordsets, returnValue) {
    // control de errores...
});
// Poner en consola el valor devuelto:
console.log(request.parameters.managerID.value);

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta