作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 NodeJS 和 Tedious 连接到 azure sql 数据库。我成功连接、插入和选择。但是,当我向“用户”表插入行时,我无法获取列的值。
代码在这里:
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);没有被调用。我收到此消息:“curl:(52) 来自服务器的空回复。”
我想获取插入用户的“user_id”。你知道有什么解决办法吗?
最佳答案
此问题的解决方案如下: https://github.com/pekim/tedious/issues/117
将 select @@identity 添加到查询末尾。像这样:
'INSERT [user] (name, ticket) VALUES (@Name, @Ticket); select @@identity'
之后我就可以获得响应数据了!
关于sql-server - request.on ('row' ,函数(列){})从未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35671809/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!