我有一个类型为
的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服务器拒绝的长度?
答案 0 :(得分:1)
您可以在NVARCHAR(MAX)中存储的最大字符数为1,073,741,823或非常接近。如果您的用户可以在您的文本框中输入该数量的文本,那么可能会出现一些不理想的事情......他们是否粘贴了圣经或所有指环王电影的成绩单?
我认为你可以设定一个更实际的限制,但我们不能真正告诉你应该是什么...... 50,000个字符? 100,000个字符?出于网络/数据包原因,小于64KB的东西?不知道,这似乎是一个商业决策,而不是技术决策。