我得到了一个网站,该网站的表单充满了设置,每个输入都在MS SQL数据库中保存一个值。
但是当我将字段设置为''时,出现以下错误消息:
“输入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。参数3(“”):数据类型0x00未知。
我的node.js服务调用了一个存储过程,如下所示:
CREATE PROCEDURE [dbo].[ckd_Configurations_Update]
@Key NVARCHAR(256),
@Value NVARCHAR(MAX)
AS
BEGIN
UPDATE [dbo].[ckd_Configurations] SET [Value]=@Value WHERE [Key]=@Key;
END
我的桌子:
CREATE TABLE [dbo].[ckd_Configurations]
(
[Key] NVARCHAR(256) NOT NULL PRIMARY KEY,
[Value] NVARCHAR(MAX)
)
最后,我的node.js路由来设置配置:
router.post('/configurations/update', function (req, res) {
var request = new sql.Request(databaseConnection);
var configuration = req.body;
request.input('Key', sql.NVarChar(256), configuration.Key);
request.input('Value', sql.NVarChar(sql.MAX), configuration.Value);
request.execute('ckd_Configurations_Update', function (error, recordsets) {
if (error) {
res.json(new apiResponse(false, error.message));
} else {
res.json(new apiResponse(true, '', recordsets[0]));
}
});
});
最佳答案
只需将mssql更新到2.0。此版本已修复该问题。
关于javascript - 在表中保存空字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28578353/