Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
109 changes: 67 additions & 42 deletions server.js
Original file line number Diff line number Diff line change
@@ -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)
});