NodeJS запрос БД - PullRequest
       7

NodeJS запрос БД

0 голосов
/ 25 октября 2019

В следующем коде:

app.use('/Catalog', function(req, res)
  {                                                                                                             
        let query = "select id, name from Category where id = ?";
        let queryError = "select * from Category";
        db.all(query, [req.query.id], (err, rows) => {
                if(err == null){
                        res.writeHead(200, { 'Content-Type': 'text/plain'});
                        res.write(JSON.stringify(rows));
                        res.end();
                }
                else{
                        console.log(err);
                        db.all(queryError, (err, rows) => {
                                res.writeHead(200, { 'Content-Type': 'text/plain'});
                                res.write(JSON.stringify(rows));
                                res.end();
                        });
                }
        });

  });

Кажется, что условие else не работает. Вот строки моей таблицы Category:

1|Motorcycles
2|Classic Cars
3|Trucks and Buses
4|Vintage Cars
5|Planes
6|Ships
7|Trains

Требуемое поведение состоит в том, что, если я запрашиваю идентификатор, которого нет в таблице (например, /catalog?id=8), сервер должен вернутьвсе доступные категории. Но здесь, вместо того, чтобы возвращать все категории, он просто возвращает

[]

1 Ответ

1 голос
/ 25 октября 2019

Вы проверяете, есть ли ошибка .

База данных успешно , возвращающая все ноль соответствующих строк.

К ошибкам относятся такие вещи, как «Сбой сетевого подключения к базе данных», «Запрос столбца, который не существует» или синтаксическая ошибка в SQL.

Проверьте, является ли rows.length значением 0 (при условии, что rows является массивом).

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