MEAN Stack Node Js с базой данных SQL - получить Datatable и прочитать его на локальном хосте браузера - PullRequest
0 голосов
/ 24 сентября 2018

Я создаю приложение с помощью стека MEAN и хотел бы интегрировать базу данных SQL, в частности извлекать таблицы данных и читать их на локальном хосте браузера.

Пока что я могу читать любые данные с помощьюследующий кодТем не менее, этот код просто консоль регистрирует таблицы данных в терминале, но я хотел бы прочитать их в браузере.Есть предложения?

var Connection = require("tedious").Connection;
var Request = require("tedious").Request;

// Create connection to database
var config = {
  userName: "insert username",
  password: "insert password",
  server: "insert server",
  options: {
    database: "insert database name",
    encrypt: true
  }
};
var connection = new Connection(config);

// Attempt to connect and execute queries if connection goes through
connection.on("connect", function(err) {
  if (err) {
    console.log(err);
  } else {
    console.log("Connected to SQL database!");
    queryDatabase();
  }
});

function queryDatabase() {
  console.log("Reading rows from the Table...");

  // Read all rows from table
  request = new Request("SELECT * from <insert name of existing datatable from database", function(
    err,
    rowCount,
    rows
  ) {
    console.log(rowCount + " row(s) returned");
    process.exit();
  });

  request.on("row", function(columns) {
    columns.forEach(function(column) {
      console.log("%s\t%s", column.metadata.colName, column.value);
    });
  });
  connection.execSql(request);
}

1 Ответ

0 голосов
/ 24 сентября 2018

Предполагая, что у вас есть объект response , вы можете вместо этого собрать в столбец данные столбца, которые вы сейчас записываете на консоль, в массив, а затем отправить этот массив в браузер, закодированный в виде строки JSON.

request.on("row", function(columns) {
    var output = [];
    columns.forEach(function(column) {
      output.push("{0}\t{1}".format(column.metadata.colName, column.value));
    });
     response.writeHead(200, {'Content-Type': 'application/json'});
     response.write(JSON.stringify(output))
     response.end();
  });

Во всех браузерах, кроме Firefox, JSON по умолчанию отображается в виде простого текста.Чтобы просмотреть его как древовидную структуру в Chrome, перейдите в раздел Инструменты разработчика -> сеть, перезагрузите страницу, затем щелкните результат -> предварительный просмотр, чтобы просмотреть ее в виде сворачиваемой древовидной структуры.В противном случае я бы посоветовал вам установить плагин, чтобы включить просмотр анализируемого JSON.Для Chrome я настоятельно рекомендую плагин JSON Formatter .У меня нет полезных советов для других браузеров, но вы можете поискать их в Google.

см.

...