Hej! Jag kommer med lite kod som jag inte får att fungera.
När jag exekverar main med node så väntar inte funktionerna på varandra utan när jag ska mata in en söksträng för en viss funktion visas console.log för en annan funktion. Har bifogat en bild. MVH
Main
När jag exekverar main med node så väntar inte funktionerna på varandra utan när jag ska mata in en söksträng för en viss funktion visas console.log för en annan funktion. Har bifogat en bild. MVH
Main
- Kod: Markera allt
/*
*Main
*@author Henrik Thomasson
*
*
*/
"use strict";
const mysql = require("promise-mysql");
const config = require("./config.json");
const between = require("./between.js");
const search = require("./search.js");
const teachers = require("./teacher.js");
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
((async function(){
await selectTeachers();
await searchTeachers();
await searchBetween();
}))();
async function selectTeachers(){
await teachers.startUp();
};
async function searchTeachers(){
await search.startUp();
};
async function searchBetween(){
await between.startUp();
};
- Kod: Markera allt
/*
*@author Henrik Thomasson
*Made @ BTH 2019
*
*
*/
"use strict";
module.exports = {
"searchBetween": searchBetween,
"startUp": startUp
}
const mysql = require("promise-mysql");
const config = require("./config.json");
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
async function startUp() {
const db = await mysql.createConnection(config);
let str;
console.log("Start with Min and Max");
rl.question("Enter min: ", (min) => {
rl.question("Enter max: ", (max) => {
str = searchBetween(db, min, max);
rl.close();
db.end();
});
});
};
async function searchBetween(db, min, max) {
const tableB = require("./tableBetween.js");
let res;
let sql;
let str;
//let maxi = max;
// let mini = min;
console.info(`Searching for values between ${min} and ${max} `);
sql = `
SELECT
akronym,
fornamn,
efternamn,
avdelning,
kompetens,
lon
FROM larare
WHERE
lon > ${min} AND lon < ${max}
OR
kompetens > ${min} AND kompetens < ${max}
ORDER BY lon;
`;
res = await db.query(sql);
str = await tableB.betweenAsTable(res);
console.info(str);
return str;
}
- Kod: Markera allt
/**
*
* @author Henrik Thomasson
* Made 2019 @ BTH
* Show teachers and their departments
*
*/
module.exports = {
"startUp": startUp
}
const mysql = require("promise-mysql");
const config = require("./config.json");
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
async function startUp() {
const db = await mysql.createConnection(config);
let str;
rl.question("What to search for? ", async (search) => {
str = await searchTeachers(db, search);
console.info(str);
rl.close();
db.end();
});
};
async function searchTeachers(db, search){
let sql;
let res;
let str;
let like = `%${search}%`;
console.info(`Searching for: ${search}`);
sql = `
SELECT
akronym,
fornamn,
efternamn,
kompetens,
avdelning,
lon
FROM larare
WHERE
akronym LIKE ?
OR fornamn LIKE?
OR efternamn LIKE?
OR avdelning LIKE?
OR lon LIKE?
ORDER BY akronym;
`;
res = await db.query(sql, [like, like, like, like, search]);
str = await teacherAsTable(res);
return str;
};
function teacherAsTable(res) {
let str;
str = "+--------+---------------------------+-----------+------+----+\n";
str += "|Akronym |Namn |Avdelning |Lön |Komp|\n";
str += "|--------|---------------------------|-----------|-----------|\n";
for (const row of res) {
str += "| ";
str += row.akronym.padEnd(7);
str += "| ";
str += (row.fornamn + " " + row.efternamn).padEnd(26);
str += "| ";
str += row.avdelning.padEnd(10);
str += "| ";
str += row.lon.toString().padEnd(5);
str += "| ";
str += row.kompetens.toString().padEnd(2);
str += " |\n";
}
str += "+--------+---------------------------+-----------+-----------+\n";
console.info(str);
};
- Kod: Markera allt
/*
*
*@author Henrik Thomasson
*Made 2019 @ BTH
*
*Module for the "search teacher" function.
*/
"use strict";
const mysql = require("promise-mysql");
const config = require("./config.json");
module.exports = {
"startUp": startUp
}
async function startUp(){
await selectTeachers();
}
async function selectTeachers(){
let table = require("./teacherAsTable.js"); //Module to print the teachers as a table
const db = await mysql.createConnection(config);
let sql;
let res;
let str;
sql = `
SELECT
akronym,
fornamn,
efternamn,
avdelning,
kompetens,
lon,
fodd
FROM larare
ORDER BY akronym;
`;
res = await db.query(sql);
str = table.teacherAsTable(res);
return str;
db.end();
}
- Bilagor
-
- exempelbild.PNG (21.79 KiB) Visad 2557 gånger