C # привязки данных к varchar, текстовые поля - PullRequest
1 голос
/ 16 февраля 2012

Я использую привязку данных в своем приложении следующим образом:

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

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

Что я должен сделать, чтобы решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 17 февраля 2012

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

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

0 голосов
/ 16 февраля 2012

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

...