Я пытаюсь создать приложение node.js + express
, которое использует данные из базы данных сервера SQL.Но у меня проблема с получением ответа для моего executeStatement()
, который находится в пределах функции app.get()
маршрутизатора.Я ожидаю, что мой код отобразит объект массива, который я мог бы просто использовать в своем шаблоне или представлении ejs
.Как показано в приведенном ниже коде, column.value
- это основной массив объектов, который я хочу использовать на веб-интерфейсе.
PS: я довольно новичок в мире программирования. Спасибо за помощь!
var express = require('express');
var tediousExpress = require('express4-tedious');
var app = express();
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
app.set('view engine', 'ejs')
app.set('views', './views')
var config = { 'contains my credentials' }
var connection = new Connection(config);
app.use(function (req, res, next) {
req.sql = tediousExpress(connection);
next();
});
app.get('/products', function (req, res ) {
/* I want to get column.value object to be rendered to my frontend
I already used res.json() here but it returns nothing*/
function executeStatement() {
request = new Request("select count * from table where ArticleId=
24588 for json path", function(err, data) {
if (err) {
console.log(err);
} else {
console.log('total rows fetched ') ;
}
connection.close();
});
request.on('row', function(columns) {
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
column.value ;
}
});
});
connection.execSql(request) ;
}
});