0

I am new to Node js and express. I trying to query my Azure database to get the list of patients(MR number). I am getting the list but I think the request.on() runs as an asynchronous function so first, it will render the HTML page without any list and after executing the function Node Js exit executing.

Code:

var express = require('express');
var router = express.Router();
//For database
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;

function mrquery(connection) {
  request = new Request(
    "SELECT DISTINCT MRNO FROM Transaction_Record",
    function(err, rowCount, rows) {
      console.log(rowCount + ' row(s) returned');
      process.exit();
    }
  );
  request.on('row', function(columns) {
    columns.forEach(function(column) {
      console.log(column.value);
    });
  });
  connection.execSql(request);
}

/* GET home page. */
router.get('/', async function(req, res, next) {
  var connection = req.app.get('connection');
  var isconnected = req.app.get('isconnected');
  if (isconnected) {
    mrquery(connection)
    res.render('index', {
      title: 'Express'
    });
  } else {
    console.log('Not Connected');
    res.render('error', {
      error: 'error'
    });
  }

});
module.exports = router; 

Thanks in advance.

4

0 回答 0