0

在我的 Web 应用程序中,我使用加密将密码存储在数据库中。密码字段的数据类型是 nvarchar(max)。即使我输入了 10 个字符的密码,例如“8427484274”,我也会收到错误消息。我通过搜索知道这是当我们尝试存储数据超过数据类型的容量时得到的错误。我想澄清的一件事是我的加密字符串中有'='符号......在那里数据类型有任何问题吗?如果是最大的数据类型,那么 varchar(8000),我也尝试过,但仍然出现错误。如何解决这个问题?

4

3 回答 3

0

尝试 varchar(max)... 表示超过 8000...所以应该很好...也许您将值传递给存储过程并且其参数长度无效。

于 2013-04-04T05:33:23.017 回答
0

怀疑问题在于从应用程序传递值。检查命令参数的数据类型和长度。

于 2013-04-04T05:41:28.103 回答
0

您是否有机会在数据中引用?会导致不好的事情发生。我通常做一个 string.Replace('''', '''''') 将单引号转换为双引号。

尝试在调试器中再次运行它,看看 cmd.commandtext 的值是什么。将它放在此处的响应中,以便我们可以看到实际运行的内容。

于 2013-04-04T12:42:20.767 回答