我正在尝试编写一个命令行应用程序,它使用询问器来显示并最终更新 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();
P粉6765887382024-02-04 00:00:54
我认为您的 msql 连接导致了问题。您没有输入密码,因此导致崩溃。但它是异步发生的,因此无论如何都会出现询问者提示,但在您做出选择之前您的应用程序会崩溃