Express Ошибка маршрута: «Ошибка: Ошибка типа: Не удается прочитать свойство« тип »из неопределенного» - PullRequest
0 голосов
/ 20 января 2020

У меня есть базовый c маршрут для регистрации пользователей, сначала он запускает хранимую процедуру, проверяя, существует ли электронная почта в моей базе данных SQL, а затем запускает хранимую процедуру, обновляя записи, если этого не происходит.

Однако я получаю сообщение об ошибке

 Err:  TypeError: Cannot read property 'type' of undefined

Это мой маршрут

app.post("/register", async (req, response) => {
  try {
    await sql.connect(config);
    const Email = req.body.email;
    const PasswordHash = req.body.password;
    const UserEmail = req.body.email;

    var request = new sql.Request();

    request.input("Email", sql.VarChar, Email);
    //request.input("Password", sql.VarChar, Password);

    const result = await request.execute("dbo.CheckEmailExists");

    if (result.recordsets[0].length > 0) {
      console.info("These credentials already exist");
      console.log(req.body);
    } else {
      console.info("these credentials do not exist well done");

      console.log({ UserEmail });
      request.input("UserEmail", sql.nVarChar, UserEmail);
      request.input("PasswordHash", sql.nVarChar, PasswordHash);
      request.execute("dbo.RegisterUser");

      console.log("done done");
    }
  } catch (err) {
    console.log("Err: ", err);
    response.status(500).send("Check api console.log for the error");
  }
});

Почему это происходит и как это исправить?

ALTER PROCEDURE [dbo].[RegisterUser]
  @UserEmail nvarchar(320),
  @PasswordHash nvarchar(100)

  AS

  INSERT into RegisteredUsers (Email,PasswordHash) values (@UserEmail,  HASHBYTES('SHA2_512', @PasswordHash ))






1 Ответ

1 голос
/ 20 января 2020

Это должно быть sql.NVarChar (N должно быть в столицах).

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...