1

私は自分のアプリでデータバインディングを次のように使用しています:

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

データベースのフィールドが varchar 型の場合、すべて問題ありません。次に、フィールドのサイズは私が定義します。問題は、データベースのフィールドが text または ntext フィールドの場合です。データベースによると、このフィールド (text、ntext) のサイズは 16 で、textBox1.MaxLength は 16 であり、エラーが発生します。

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

4

2 に答える 2

0

事前定義されたサイズのデータ​​型としてnvarcharを取得すると、その量のメモリが割り当てられ、代わりに固定長を意味します。varcharは可変長です...したがって、定義された文字サイズを超えないフィールドを取得することがわかっている場合は、次を使用します。 nvarcharまたはユニコードサポートが必要な場合は、自信がない場合はvarcharを使用してください

于 2012-02-16T17:10:55.470 に答える
0

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

編集:申し訳ありませんが、私はこの問題を解決しました。問題は、myObject の値に最大長を設定したことです。取り外した後、バインドは正しく機能しています。回答ありがとうございます。

于 2012-02-17T06:55:33.940 に答える