SQL Санитарная обработка запросов к серверу в nodejs - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь очистить запрос SQL, используя модуль mssql в nodejs. Но это вызывает ошибку.

    var arrayString = ""
    if (queryArray.length > 0) {
        for (var i = 0; i < queryArray.length; i++) {
            arrayString += "Name = '"
            arrayString += queryArray[i]
            arrayString += i !== queryArray.length - 1 ? "' OR " : "' "
        }
        var queryStatement = "SELECT * FROM [dbo].[nameTab] WHERE (@arrayString AND C_Name = 'SAGARA')"
    }
    else {
        arrayString = "'SAGARA'"
        var queryStatement = "SELECT * FROM [dbo].[nameTab] WHERE C_Branch = @arrayString"
    }

    new sql.ConnectionPool(config).connect().then(pool => {
        resolve(
            pool.request()
            .input('arrayString', sql.NVarChar, arrayString)
            .query(queryStatement))
        }).catch(err => {
          res.status(500).send({ message: err})
          sql.close();
        }); 

Сообщение об ошибке:

UnhandledPromiseRejectionWarning: RequestError: выражение не-логического типа, указанное в контексте, где ожидается условие, рядом с 'И'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...