SQL Server截断大于列长度的字符串

时间:2019-05-16 19:07:45

标签: javascript jquery sql-server asp.net-mvc

我在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) 这可能会导致问题。

非常感谢。

0 个答案:

没有答案