express.js и утомительная проблема с библиотекой в ​​rowCount - PullRequest
0 голосов
/ 08 сентября 2018

Я реализовал спокойный веб-сервис с express.JS и mssql, я использую утомительно для подключения к базе данных, и я могу успешно, но когда я хочу сравнить rowCount в запросе вставки, я не могу получить истинное значение, и оно return {status: 'Failed', id: '', token: 'это имя пользователя занято ранее'}, в то время как console.log возвращает 1 и вставка выполнена успешно !!! Кто-нибудь может объяснить, что случилось и как я могу это исправить ???

Это мой код

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'}));
            } 
        })
    );
});
...