我已经用express.JS和mssql实现了一个宁静的Web服务,我用乏味的方式连接数据库,我可以成功完成任务,但是当我想在插入查询中比较rowCount时,我无法获得真实值,它在console.log返回1并成功完成插入的情况下,返回{状态:“失败”,ID:”,令牌:“此用户名之前”}谁能解释发生了什么事,我该如何解决??
这是我的代码
app.get('', (req, res) => {
const query = `BEGIN
IF NOT EXISTS (SELECT * FROM [dbo].[User]
WHERE [userName] = 'MyuserName')
BEGIN
INSERT INTO [dbo].[User]
([userName]
,[nameAndFamily]
,[premissionLevel]
,[createDateTime])
VALUES
('MyuserName'
,'nameAndFamily'
,'premissionLevel'
,'2018-09-05 09:23:10')
END
END`;
sqlconnection.execSql(new Request(query,
function(err, rowCount, rows){
if(err) {
res.end(JSON.stringify({status: 'Failed', id: '', token: err.message}));
}
})
.on('doneInProc',function(rowCount, more, rows){
console.log(rowCount);
if(rowCount === 1){
res.end(JSON.stringify({status: 'Success', id: '', token: ''}));
}else{
res.end(JSON.stringify({status: 'Failed', id: '', token: 'this Username taken before'}));
}
})
);
});