查询者提示的MYSQL结果

ajsxfq5m  于 2023-02-15  发布在  Mysql
关注(0)|答案(1)|浏览(74)

我正在尝试使用MySQL查询的结果来填充查询者提示的选择,我在将查询结果输出到变量中时遇到了麻烦。
在我的代码中,我有以下内容,用于一个带有多个操作的开关,可以通过这些操作来操作包含雇员、部门和角色信息的数据库。
当我退出Object.keys(questions.roles)时,我反复得到未定义的结果,我得到了以下结果。

[
  '_events',       '_eventsCount',
  '_maxListeners', 'next',
  'sql',           'values',
  '_queryOptions', 'namedPlaceholders',
  'onResult',      'timeout',
  'queryTimeout',  '_fieldCount',
  '_rowParser',    '_fields',
  '_rows',         '_receivedFieldsCount',
  '_resultIndex',  '_localStream',
  '_unpipeStream', '_streamFactory',
  '_connection',   'options'
]

然后当我试图调用任何值时,当我调用questions.roles.values或任何其他属性时,我得到的是未定义的。
甚至回调中的console.logs也不起作用。

case("13"): //  Delete a role
      questions.roles = db_conn.query("SELECT title, id FROM role;",
                      (err, results) => {
                    console.table(results);
                    questions.roles = results;
                      });
      console.log(Object.keys(questions.roles));
      console.log(questions.roles.values);
      
      let delRole = inquirer.prompt(questions.deleteRole);
      db_conn.query(queries.deleteRole,
            [delRole],
            (err,res) => console.log(`Deleted ${delRole}`));

      break;

我已经尝试调用多个属性,当我输入Object.keys(questions.roles)时弹出,以及回调的其他区域。

iovurdzv

iovurdzv1#

分配问题.roles = db_conn.query(.....)错误,调用:

db_conn.query("SELECT title, id FROM role;", (err, results) => {
   if (err) {
      ....
      return;
    }
    if (result.length)  {  // we have returned records
       let c
       for (c=0; c<result.length; c++) {
          console.log(result[c].title, result[c].id)
       } 
    }
});

相关问题