2012-02-16 2 views
1

Я использую DataBindings в моем приложении таким образом:C# DataBindings в VARCHAR, текстовые поля

textBox1.Databindings.Add(new Binding("Text", myObject, "myObjectField")); 

Все в порядке, когда поле в базе данных типа VARCHAR. Тогда размер поля определяется мной. Проблема заключается в том, что поле в базе данных представляет собой текстовое или текстовое поле. База данных говорит, что размер этого поля (текст, ntext) равен 16, а затем textBox1.MaxLength составляет 16, что вызывает работу с ошибкой.

Что мне делать для решения этой проблемы?

+0

Есть ли у вас возможности для изменения базы данных varchar (MAX) и nvarchar (MAX), по существу, являются обертками для текста и ntext соответственно. Они работают как другие (n) varchars, за исключением того, что они не могут использоваться в индексе, но могут содержать как текстовое поле (n). –

+0

Можете ли вы объяснить ошибку более подробно? Номер ошибки, Описание ошибки ... –

+0

Не можете найти лучшее описание этой ошибки? Потенциально полный текст ошибки. – Guvante

ответ

0

Когда вы берете nvarchar как тип данных с предопределенным размером, он выделяет столько памяти, что фиксированная длина вместо varchar - это переменная длина ... так что моя точка зрения, если вы знаете, что ur принимает поле, которое не принимает больше, чем u определено размер символа, тогда используйте nvarchar, или если вам нужна поддержка unicode, используйте varchar, если у вас нет уверенности.

0

Нет ошибок. Например: у меня есть таблица в db с двумя полями. Одним из них является «имя» (varchar (255)), а другое - «desc» (текст). После привязки в коде C# текстовое поле «имя» отлично работает, но привязка к полю «desc» отсутствует. Фактически текстовое поле в форме привязано к «desc», я могу написать только 16 символов строки, а затем я не могу выйти за пределы этого поля. Помогите пожалуйста;)

Редактировать: Извините, ребята, я решил эту проблему. Проблема заключалась в том, что я установил максимальную длину по значению в myObject. После удаления привязка работает правильно. Спасибо за ответы.

Смежные вопросы