Я подключаюсь к базе данных Azure SQL с помощью NodeJS с Tedious. Мне удается подключиться, INSERT и SELECT. Однако я не могу получить значение столбца, когда вставляю строку в таблицу «пользователь».
Код здесь:
function insertUser(Name, res) {
request = new Request("INSERT [user] (name, ticket) VALUES (@Name, @Ticket);", function(err) {
if (err) {
res.json({ Error: err });
}
});
request.addParameter('Name', TYPES.NVarChar, Name);
request.addParameter('Ticket', TYPES.Int,10);
var result = {};
request.on('row', function(columns) {
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
result[column.metadata.colName] = column.value;
}
});
res.json(result);
});
request.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
connection.execSql(request);
}
И я вызываю функцию:
router.post('/register', function(req, res){
console.log(req.body); // for logging
if (req.body.name) {
insertUser(req.body.name, res);
}
});
Запрос из терминала на Mac
curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"name":"XXXX"}' http://localhost:3000/users/register
После этого данные добавились, но res.json(result); не был вызван. Я получил это сообщение: «завиток: (52) Пустой ответ с сервера».
Я хочу получить «user_id» вставленного пользователя. Знаете ли вы какие-либо решения?