我在SQL Server表中具有Description varchar(2000)列。 在前端,我有HTML文本区域,其属性为maxlength = 2000。 但是,如果我在HTML文本区域中输入一个或两个输入字符串,则SQL Server认为该字符串大于2000,并将输入字符串的最后4个字符截断为4到5。 当我通过SQL事件探查器在SQL Server中检查字符串len()时,插入时它大于2000个字符。这是因为SQL Server将键盘输入(键代码= 13)视为2个字符。 所以我的问题是,
1>如何使用Jquery或javascript计算与SQL Server的长度函数相同的确切字符串长度?这样,如果我将精确长度的字符串传递给SQL,则不应截断它。
我也试图在计数中计算输入序列
var num = _input1.length;
var lineCount = (_input1.split(/\r\n|\r|\n/).length - 1);
$("#spnCharCount").text(num + lineCount);
Code on Textarea Keyup..
$("#Description").keyup(function (event) {
var key = event.which;
var length = this.value.length;
if (key >= 33 || key == 13 || key == 32) {
var maxLength = $(this).attr("maxlength");
if (length >= maxLength) {
event.preventDefault();
}
}
$("#spnCharDescriptionCount").text(length);
});
SQL Server不返回任何错误,例如“字符串或二进制数据将被截断” 只需将截断的字符串保存在列中即可。
我已将存储过程中的变量声明为@Description varchar(2000) 这可能会导致问题。
非常感谢。