Почему мое строковое значение накапливает пустые места при вставке в базу данных SQL? - PullRequest
5 голосов
/ 09 сентября 2011

У меня есть обширная форма, вставляемая в базу данных SQL, а затем со страницы администратора я запрашиваю все данные и вставляю их обратно в форму на странице администратора. Во время первоначальной вставки в базу данных этот конкретный выпадающий список (как и другие) вставляет выбранные данные. Но когда я иду в базу данных, только эта конкретная ячейка получает от 3 до 4 пустых пробелов после вставки выбранного значения. Это заставляет логическое сравнение отвечать ложным при попытке вставить обратно в форму администратора. то есть ("Primary" == "Primary") = false. Таким образом, выпадающий список не обновляется.

Что будет причиной того, что строка SQL добавит эти пустые места? Код идентичен для всех раскрывающихся списков HTML с его кодом позади. И структура базы данных SQL кажется одинаковой на всем протяжении.

p.s. Чтобы устранить проблему, я пытаюсь использовать .Trim () в коде позади. Но это не имеет значения. Кажется, база данных SQL добавляет пробел при вставке.

1 Ответ

27 голосов
/ 09 сентября 2011

Ваш столбец, который добавляет пробел, оказывается CHAR или NCHAR вместо VARCHAR или NVARCHAR? Например, если ваш тип данных столбцов CHAR(10) и вы вставили в него «Hello», в этом столбце всегда будет 10 символов, поэтому после «Hello» будет добавлено 5 пробельных символов. Однако, если вы используете VARCHAR(10), этого не произойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...