首页 > 解决方案 > RequestError:参数“request_UserID”的验证失败。无法读取未定义的属性“验证”

问题描述

尝试使用 NodeJS 从 MSSQL 连接和选择记录且繁琐

这是我的代码

connection.on("connect", function (err) {

    sqlCommand = new Request(
        "SELECT * FROM video.videoView WHERE Id = @Id AND CONVERT(VARCHAR(MAX), request_userID) = @request_UserID",
        function (err) {
            if (err) {
                console.log(err);
            }
        }
    );
    sqlCommand.addParameter("Id", TYPES.UniqueIdentifier, data.vid);

    sqlCommand.addParameter(
        "request_UserID",
        TYPES.VARCHAR,
        data.email_address
    );

    sqlCommand.on("row", function (columns) {
        columns.forEach(function (column) {
        });
    });

    sqlCommand.on("requestCompleted", function (rowCount, more) {
        connection.close();
    });
    connection.execSql(sqlCommand);
});

这是错误消息

RequestError:参数“request_UserID”的验证失败。无法读取未定义的属性“验证”

我研究了这个例子 - https://docs.microsoft.com/en-us/sql/connect/node-js/step-3-proof-of-concept-connecting-to-sql-using-node-js?视图=sql-server-ver15

在示例中,它们不使用参数进行查询。我需要使用参数来避免 SQL 注入

标签: javascriptnode.jssql-serverdatabasetedious

解决方案


解决方案是将 TYPES.VARCHAR 更改为 TYPES.VarChar

谢谢@AlwaysLearning


推荐阅读