pool.request (). query (sqlQuery) RowsAffected - PullRequest
2 голосов
/ 07 мая 2020

Мне нужно немного понять, как работает pool.request().query(sqlQuery).

У меня есть код, работающий нормально, и все такое, но мне нужно узнать, что я могу сделать с результатом запроса.

Мой текущий код внутри функции:

const result = await pool.request().query(sqlQuery);
return result;

В этом коде, когда я запускаю отладчик и проверяю значение результата, я вижу

output:Object {}
recordset:Array(1) [Object]
recordsets:Array(1) [Array(1)]
rowsAffected:Array(0) []
__proto__:Object {constructor: , __defineGetter__: , __defineSetter__: , …}

Итак, я предполагал что я могу использовать это. Я пошел дальше и использовал

  const result = await pool.request().query(sqlQuery);
      logger.info(" rows affected "+ rowsAffected.Array(0));
// The above is where I am not sure how I can get the rows affected.
     return result;

. Кажется, здесь я не выигрываю, как сказано в журнале консоли:

строк, затронутых undefined.

Я явно не знаю, как здесь, и, вероятно, что-то мне не хватает. Я проверил Google, но все предложения приводят к undefined.

Мне нужна информация rowsAffected, чтобы передать правильное сообщение в ответ. Как мне получить значение rowsAffected

Чего бы мне не хватало?

1 Ответ

0 голосов
/ 07 мая 2020

rowsAffected: Array (0) []

означает, что result имеет свойство с именем rowsAffected и его тип является массивом. В этом массиве содержится 0.

Измените оператор регистратора на

logger.info(" rows affected "+ result.rowsAffected[0]);

Это предполагает, что sqlQuery фактически добавляет или обновляет записи. Тот факт, что у вас есть массив из 0 элементов, означает, что вы не обновляете какие-либо записи в этом вызове.

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