Advertisement
Guest User

Untitled

a guest
Oct 13th, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. var Connection = require('tedious').Connection;
  2. var Request = require('tedious').Request;
  3. var TYPES = require('tedious').TYPES;
  4. var async = require('async');
  5. var express = require('express');
  6.  
  7. // Create connection to database
  8. var config = {
  9. userName: 'ladymey', // update me
  10. password: 'MeY0544808130', // update me
  11. server: 'ladymey.database.windows.net',
  12. options: {
  13. database: 'meyDB'
  14. , encrypt: true
  15.  
  16. }
  17. }
  18.  
  19. var connection = new Connection(config);
  20.  
  21. var app = express();
  22. var server = app.listen(3000);
  23.  
  24. app.use(express.static('public'));
  25.  
  26. var socket = require('socket.io');
  27. var io = socket(server);
  28.  
  29.  
  30. io.sockets.on('connection', newConnection);
  31.  
  32. function newConnection(socket){
  33. console.log('new connection ' + socket.id);
  34. var contactsDB = "";
  35.  
  36. contactsDB = Read();
  37.  
  38. console.log(contactsDB);
  39.  
  40. //io.sockets.emit('load list', contactsDB);
  41.  
  42. socket.on('new entry',insertEntry);
  43. socket.on('update entry',updateEntry);
  44. socket.on('delete entry',deleteEntry);
  45.  
  46. function insertEntry(data)
  47. {
  48. console.log(data);
  49. Insert(data.name,data.phone);
  50.  
  51. io.sockets.emit('load list', contactsDB);
  52. }
  53. function updateEntry(data)
  54. {
  55. console.log(data);
  56. Update(data.name,data.phone);
  57.  
  58. io.sockets.emit('load list', contactsDB);
  59. }
  60. function deleteEntry(data)
  61. {
  62. console.log(data);
  63. Delete(data.name);
  64.  
  65. // TODO: BRING ALL DB
  66. io.sockets.emit('load list', contactsDB);
  67. }
  68. }
  69.  
  70. function Read() {
  71. console.log('Reading rows from the Table...');
  72.  
  73. // Read all rows from table
  74. request = new Request(
  75. 'SELECT Name, Phone FROM ContactsSchema.Contacts;',
  76. function(err, rowCount, rows) {
  77. if (err) {
  78. console.log(err);
  79. } else {
  80. console.log(rowCount + ' row(s) returned');
  81. }
  82. });
  83.  
  84. // Print the rows read
  85. var result = "";
  86. request.on('row', function(columns) {
  87. columns.forEach(function(column) {
  88. if (column.value === null) {
  89. console.log('NULL');
  90. } else {
  91. result += column.value + " ";
  92. }
  93. });
  94.  
  95. console.log(result);
  96. return result;
  97.  
  98. //result = "";
  99. });
  100.  
  101. // Execute SQL statement
  102. connection.execSql(request);
  103. }
  104.  
  105. function Insert(name, Phone) {
  106. console.log("Inserting '" + name + "' into Table...");
  107.  
  108. request = new Request(
  109. 'INSERT INTO ContactsSchema.Contacts (Name, Phone) OUTPUT INSERTED.Id VALUES (@Name, @Phone);',
  110. function(err, rowCount, rows) {
  111. if (err) {
  112. console.log(err);
  113. } else {
  114. console.log(rowCount + ' row(s) inserted');
  115. }
  116. });
  117. request.addParameter('Name', TYPES.NVarChar, name);
  118. request.addParameter('Phone', TYPES.NVarChar, Phone);
  119.  
  120. // Execute SQL statement
  121. connection.execSql(request);
  122. }
  123.  
  124. function Update(name, Phone) {
  125. console.log("Updating Phone to '" + Phone + "' for '" + name + "'...");
  126.  
  127. // Update the employee record requested
  128. request = new Request(
  129. 'UPDATE ContactsSchema.Contacts SET Phone=@Phone WHERE Name = @Name;',
  130. function(err, rowCount, rows) {
  131. if (err) {
  132. console.log(err);
  133. } else {
  134. console.log(rowCount + ' row(s) updated');
  135. }
  136. });
  137. request.addParameter('Name', TYPES.NVarChar, name);
  138. request.addParameter('Phone', TYPES.NVarChar, Phone);
  139.  
  140. // Execute SQL statement
  141. connection.execSql(request);
  142. }
  143.  
  144. function Delete(name) {
  145. console.log("Deleting '" + name + "' from Table...");
  146.  
  147. // Delete the employee record requested
  148. request = new Request(
  149. 'DELETE FROM ContactsSchema.Contacts WHERE Name = @Name;',
  150. function(err, rowCount, rows) {
  151. if (err) {
  152. console.log(err);
  153. } else {
  154. console.log(rowCount + ' row(s) deleted');
  155. }
  156. });
  157. request.addParameter('Name', TYPES.NVarChar, name);
  158.  
  159. // Execute SQL statement
  160. connection.execSql(request);
  161. }
  162.  
  163. // Attempt to connect and execute queries if connection goes through
  164. connection.on('connect', function(err) {
  165. if (err) {
  166. console.log(err);
  167. } else {
  168. console.log('Connected to Database...!');
  169.  
  170. }
  171.  
  172. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement