2012-02-16 7 views
1

C#のデータ連結、テキストフィールド

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

すべてがデータベース内のフィールドは、varchar型のタイプであるとき、OKです。フィールドのサイズは私によって定義されます。問題は、データベース内のフィールドがtextまたはntextフィールドの場合です。データベースは、このフィールド(text、ntext)のサイズが16で、textBox1.MaxLengthが16でフォールトが働いていると言います。

この問題を解決するにはどうすればよいですか?

+0

データベースの変更範囲はありますか?varchar(MAX)およびnvarchar(MAX)は、それぞれtextおよびntextのラッパーです。彼らはインデックスでは使用できないが、(n)個のテキストフィールドを保持できるという点を除いて、他の(n)varcharsとして機能する。 –

+0

障害をより詳細に説明できますか?エラー番号、エラーの説明... –

+0

エラーの説明を教えてください。潜在的に完全なエラーテキスト。 – Guvante

答えて

0

uvarcharをあらかじめ定義されたサイズのデータ​​型として使用すると、多くのメモリが固定長を意味するのに対し、varcharは可変長です。したがって、私の見解では、文字サイズは、nvarcharを使用するか、uがユニコードサポートを必要とする場合は、他にvarcharを使用してください。

0

エラーはありません。例:私は2つのフィールドを持つdbテーブルを持っています。そのうちの1つは「名前」(varchar(255))で、もう1つは「desc」(テキスト)です。 C#コードでバインドした後、 "name"というテキストボックスは正常に動作しますが、 "desc"フィールドにはバインドされません。実際にフォーム上のテキストボックスは「desc」にバインドされています。文字列は16文字しか書き込めません。このフィールドの外に出ることはできません。助けてください;)

編集: 申し訳ありませんが、私はこの問題を解決しました。問題は、myObjectの値の最大長を設定したことです。削除後、バインディングが正しく機能しています。答えをありがとう。