Fistandantilus hi!
Yes I have managed to get the connection working. I have used Sequelize library and it works great now. If you want to know more, please write me to ales.krohne@hotmail.com. I can send you whole code there.
Have a nice day.
Fistandantilus hi!
Yes I have managed to get the connection working. I have used Sequelize library and it works great now. If you want to know more, please write me to ales.krohne@hotmail.com. I can send you whole code there.
Have a nice day.
Thank you for all the replies. I have now taken a look and changed my code into following, but still no success :(
node_helper.js code:
"use strict";
const NodeHelper = require("node_helper");
const sql = require('mssql');
module.exports = NodeHelper.create({
start: function() {
console.log("Starting node helper for: " + this.name);
},
socketNotificationReceived: function(notification, payload) {
if (notification === "CONFIG") {
this.sendSocketNotification("STARTED",true);
this.config = payload;
this.fetchTodos();
}
},
fetchTodos : function() {
var self = this;
sql.connect('Server=10.1.150.17\SQLEXPRESS;Database=todo;User Id=rpi;Password=12345', function (err) {
if (err) {
return self.sendSocketNotification("TASKS", eval("Connection error"));;
}
new sql.Request().query('SELECT task FROM todo', function (err, result) {
if (err) {
return self.sendSocketNotification("TASKS", eval("Query error"));;
}
self.sendSocketNotification("TASKS", result);
});
});
setTimeout(function() { self.fetchTodos(); }, 60*60*1000);
}
});
And todolist.js code:
Module.register("todolist", {
defaults: {
},
// Define required scripts.
getStyles: function() {
return ["MMM-Todoist.css"];
},
start: function() {
Log.info('Starting module: ' + this.name);
this.loaded = false;
this.sendSocketNotification('CONFIG', this.config);
},
socketNotificationReceived: function(notification, payload) {
if (notification === "STARTED") {
this.updateDom();
}
else if (notification === "TASKS") {
this.data = JSON.parse(payload);
this.loaded = true;
this.updateDom();
}
},
getDom: function() {
var wrapper = document.createElement("div");
if (!this.loaded) {
wrapper.innerHTML = 'LOADING';
return wrapper;
}
if (!this.data) {
wrapper.innerHTML = "No data";
return wrapper;
}
wrapper.innerHTML = JSON.stringify(this.data);
return wrapper;
}
});
Hi everybody!
I have tried to develop a module, which takes data from SQL database and shows it on the screen of MagicMirror. However, the result that comes out is always blank. SQL database is on another computer in local network. Connection is tested and works. I have installed “npm install mssql” and I have the following code in my module:
Module.register("todolist", {
defaults: {
},
// Define required scripts.
getStyles: function() {
return ["todolist.css"];
},
getDom: function() {
var finished = false;
var wrapper = document.createElement("div");
wrapper.innerHTML = "tekst";
const sql = require('mssql');
sql.connect('Server=192.168.1.103, 1433;Database=todo;User Id=rpii;Password=12345', function (err) {
if (err) {
wrapper.innerHTML += "Error1: "+err;
finished =true;
return;
}
new sql.Request().query('SELECT task FROM todo', function (err, result) {
if (err) {
wrapper.innerHTML += "Error2:"+err;
finished =true;
return;
}
wrapper.innerHTML += "Result:"+result;
finished =true;
});
});
//while(!finished) {}
return wrapper;
}
});
The code decompiles without any problems, the module shows on the screen, but the result section is empty.
I would really appreciate your help since this is my school project.
Thank you in advance and have a nice day :)
Note from admin: Please use Markdown on code snippets for easier reading!