sqlite 如何在这里避免“未捕获的类型错误”?

vm0i2vca  于 2022-11-14  发布在  SQLite
关注(0)|答案(1)|浏览(128)
const userDetails = (id) => {
  console.log(id);

  const row = connection
    .prepare("SELECT * FROM users WHERE userId = ?")
    .get(3435);
  console.log(row.userName, row.userEmail, row.userPassword);
}

我的代码工作正常,但如果我输入了错误的值
未捕获的TypeError:无法读取未定义的属性(正在读取‘UserName’)
console.log返回。我如何避免这种情况?

qltillow

qltillow1#

.preparate的签名如下:prepare(sql [, param, ...] [, callback]),它返回一条语句。
因此,它不会返回一行数据。相反,您将拥有一个具有各种方法的语句,例如.each.all,您应该能够这样使用它们:

const stmt = connection.prepare("SELECT * FROM users WHERE userId = ?");

stmt.get(id, function(err, row) {
    console.log(row.userName, row.userEmail, row.userPassword);
});

相关问题