Я использую msSqlConnecter с утомительным. У меня есть запрос, который фильтрует на основе параметров, предоставленных интерфейсом. Я хотел бы, чтобы параметры были необязательными и позволяли пользователям не предоставлять их или предоставлять только один из двух. Есть ли способ поместить оператор if, основанный на существовании field2?
Я получаю следующую ошибку:
RequestError: Ошибка проверки для параметра 'field2'. Неверный номер.
Код:
var thequery1 = `SELECT country
,sales
,[Units Sold] as sold
,thedate
FROM financial
WHERE 1 = 1
AND country = @field1
AND [Units Sold] > @field2`;
Promise.all([queryTablewithPararams(thequery1, req.body.field1, req.body.field2)])
.then(
data => res.json(data)
);
function queryTablewithPararams(thequery1, field1, field2) {
return new Promise(function(resolve, reject) {
var con = new msSqlConnecter.msSqlConnecter(config);
con.connect().then(function() {
new con.Request(thequery1)
.addParam("field1", TYPES.VarChar, field1)
.addParam("field2", TYPES.Int, field2)
.onComplate(function(count, datas) {
resolve(datas);
}).onError(function(err) {
console.log(err);
}).Run();
}).catch(function(ex) {
console.log(ex);
});
});
}