我正在尝试编写一个命令行应用程序,它使用询问器来显示并最终更新 mysql 数据库。当我使用 mysql shell 时,我的数据库文件似乎是有序的,但是当我尝试连接到我的数据库并通过查询器操作它时,我似乎遇到了问题。
到目前为止,它将记录它已连接到正确的数据库,显示菜单选项,然后立即退出,不允许我做出选择。
如果我注释掉 const connect 代码块,那么查询器将不会退出并允许我进行选择,但随后应用程序会因为没有连接数据库而中断。
预先感谢您的任何见解
我当前的代码:
require('console.table');
const inquirer = require ('inquirer');
const mysql = require ('mysql2');
const connect = mysql.createConnection(
{
host: 'localhost',
user: 'root',
password: '',
database: 'employeeDB'
},
console.log('Connected to employeeDB')
);
function init(){
menu();
};
async function menu(){
await inquirer.prompt([
{
type: "list",
name: "userChoice",
message:"Menu:",
choices: [
"View All Departments",
"View All Roles",
"View All Employees"
]
},
])
.then(({userChoice}) => {
if (userChoice === "View All Departments"){
viewDepartment()
} else if (role === "View All Roles") {
viewRole()
} else {
viewEmployee()
}
})
}
const viewDepartment = () => {
connect.query(
'SELECT * FROM department;',
(err, results) => {
console.table(results);
menu();
}
)
};
const viewRole = () => {
connect.query(
'SELECT * FROM role;',
(err, results) => {
console.table(results);
menu();
}
)
};
const viewEmployee = () => {
connect.query(
'SELECT * FROM employee;',
(err, results) => {
console.table(results);
menu();
}
)
};
init(); Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我认为您的 msql 连接导致了问题。您没有输入密码,因此导致崩溃。但它是异步发生的,因此无论如何都会出现询问者提示,但在您做出选择之前您的应用程序会崩溃