У меня есть столбец Description varchar (2000) в таблице сервера SQL.
В интерфейсе у меня есть HTML textarea со свойством maxlength = 2000.
Однако, если я введу строку в текстовой области HTML с одним или двумя вводами в строке SQL-сервер, рассмотрим строку более 2000 и урежем 4-5 последних символов введенной строки.
Когда я проверяю строку len () на сервере SQL с помощью средства профилирования SQL, при вставке она превышает 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)
Это может вызвать проблему.