У меня есть хранимая процедура, подобная этой:
CREATE PROCEDURE [dbo].[st_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
Я пытаюсь запустить хранимую процедуру, выполнив:
rows = await pool
let db = await rows
let request = db.request()
request.input('StudentID ',request.Int,12)
request.input('StudentName ',request.VarChar(50),34)
request.input('TimeStamp',request.DateTime,new Date())
request.input('Notes',request.VarChar,'TEST')
request.execute('st_addStudent')
Я получаю сообщение об ошибке из строки:
request.input('StudentID ',request.Int,12)
Ошибка типа: невозможно прочитать свойство 'тип' из неопределенного
Изменить 1:
Настройка модуля базы данных:
const sql = require('mssql/msnodesqlv8');
const util = require("util")
//Need this package for windows authentication
require('msnodesqlv8');
const config = {
user: 'UserName',
password: 'Password',
server: 'Sever23', // You can use 'localhost\\instance' to connect to named instance
database: 'Student_DEV',
// driver:'msnodesqlv8',
pool: {
max: 10,
min: 5,
idleTimeoutMillis: 30000
},
options:{
encrypt:false,
instanceName:'STUDENT'
},
// port:57909,
enableArithAbort:false
}
let connection = new sql.ConnectionPool(config).connect()
.then(query => { return query } )
.catch(e => console.error("Database Trouble! ", e))
module.exports = connection;
На моем пути у меня
const express = require("express");
const router = express.Router();
const pool = require('../middleware/database')
router.post("/alterStudent",async (req,res)=>{
try{
rows = await pool
let db = await rows
let request = db.request()
request.input('StudentID ',request.Int,12)
request.input('StudentName ',request.VarChar(50),34)
request.input('TimeStamp',request.DateTime,new Date())
request.input('Notes',request.VarChar,'TEST')
request.execute('st_addStudent')
}
catch(err){
console.log(err)
}
})