From 20f3217995815f3c1373a8a87ad925ab296087d3 Mon Sep 17 00:00:00 2001 From: Mohamed BEN HARIZ Date: Thu, 10 Sep 2020 11:20:14 +0100 Subject: [PATCH] good correction --- package.json | 4 +- server.js | 109 +++++++++++++++++++++++++++++++-------------------- 2 files changed, 70 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index ea55245..248d292 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,8 @@ "start": "node server.js" }, "dependencies": { - "express": "^4.13.3" + "express": "^4.13.3", + "mssql": "^3.3.0", + "tedious": "^9.2.1" } } \ No newline at end of file diff --git a/server.js b/server.js index 59cbe6e..08d2eb2 100644 --- a/server.js +++ b/server.js @@ -1,49 +1,74 @@ -var express = require("express"); +var express = require('express'); // Web Framework var app = express(); -var connection = require('tedious').Connection; -var request = require('tedious').Request; +var sql = require('mssql'); // MS Sql Server client -app.get('/', function (req, res) { - //set up the connection information - var config = { - server: 'localhost', - authentication: { - type: 'default', - options: { - userName: 'sa', - password: 'Yukon900', // update me - database: 'DemoData' // doesn't seem to work? - }, - } - }; +// Connection string parameters. +var sqlConfig = { + user: 'sa', + password: 'Yukon900', + server: 'localhost', + port:'1433', + database: 'DemoData' +} - var conn = new connection(config); +function getData(res){ + var conn = new sql.Connection(sqlConfig); + var req = new sql.Request(conn); + conn.connect(function(err) { + if (err) { + console.log(err); + return; + } + req.query("SELECT * FROM DemoData.dbo.Products", function (err, recordset) { + if (err) { + console.log(err); + return; + } + else { + console.log(recordset); + res.end(JSON.stringify(recordset)); + } + conn.close(); + }); + }); +} +function getdatabyname(req,res){ + + var conn = new sql.Connection(sqlConfig); + var reques = new sql.Request(conn); + conn.connect(function(err) { + if (err) { + console.log(err); + return; + } + console.log(req.params) + var stringRequest = "SELECT * FROM DemoData.dbo.Products Where ProductName = '" + req.params.ProductName + "'"; + reques.query(stringRequest, function (err, recordset) { + if (err) { + console.log(err); + return; + } + else { + console.log(recordset); + res.end(JSON.stringify(recordset)); + } + conn.close(); + }); +}) +} - conn.on('connect', function(err) { - if (err) { - console.log(err); - } else { - sqlreq = new request("SELECT * FROM DemoData.dbo.Products FOR JSON AUTO", function(err, rowCount) { - if (err) { - console.log(err); - } - }); +app.get('/customers', function (req, res) { + getData(res); +}) +app.get('/customers/:ProductName/', function (req, res) { - sqlreq.on('row', function(columns) { - columns.forEach(function(column) { - if (column.value === null) { - console.log('NULL'); - } else { - res.send(column.value); - } - }); - }); - - conn.execSql(sqlreq); - } - }); -}) +getdatabyname(req,res); +}) +// Start server and listen on http://localhost:8081/ var server = app.listen(8080, function () { - console.log("Listening on port %s...", server.address().port); -}); + var host = server.address().address + var port = server.address().port + + console.log("app listening at http://%s:%s", host, port) +}); \ No newline at end of file