0

我有一个带有类型的 SQL 行

summary NVARCHAR(4000) NULL

在我向表中添加任何数据之前,我在代码中检查它并修复它,如果用户输入的字符串对于使用此代码的数据库来说太长

if (instanceToCrop.Description != null && instanceToCrop.Description.Length > 4000) instanceToCrop.Description = instanceToCrop.Description.Substring(0, 4000);

如果我这样改变我的桌子

ALTER TABLE Timeline
ALTER COLUMN summary NVARCHAR(MAX)

我应该使用什么常量来代替 4000 以将提交的字符串保持在 SQL 服务器拒绝的长度以下?

4

1 回答 1

1

您可以在 NVARCHAR(MAX) 中存储的最大字符数为 1,073,741,823 或非常接近。如果您的用户可以在您的文本框中输入这么多的文本,那么可能存在一些不理想的情况……他们是在粘贴《圣经》还是所有《指环王》电影的抄本?

我认为你可以设置一个更实际的限制,但我们不能真正告诉你应该是什么...... 50,000 个字符?100,000 个字符?由于网络/数据包原因小于 64KB?不知道,这似乎是一个商业决策,而不是技术决策。

于 2012-07-03T15:03:10.110 回答