0

現在、実行時に無害だが迷惑なエラーを発生させる作業中のプログラムがあります。現在、1 つのエントリしか含まれていない SQL テーブルの選択した内容を表示する DataGridView があります。そのテーブルには、テキスト データ用の比較的大きなストレージ スペースになるように設計された「メモ」という列があります。ユーザーは、詳細なメモを 1 つのテキスト ボックス フィールドに入力して保存できる必要があります。私の 1 つのレコードのその列のエントリの長さは (Word によると) 690 文字 (スペースを含む) ですが、DataGridView を表示すると、列が MaxLength 制限を超えていると主張するエラーが表示されます。設計時にその制限 (MaxInputLength プロパティ) を手動で 2147483647 に設定しましたが、これは明らかに 690 をはるかに超えていますが、エラーは解決しません。

ストレージに関しては 690 文字は大した問題ではないため、私の DGV の問題が何であるかはわかりません。誰かがこのエラーの根本的な問題を指摘してもらえますか? 前もって感謝します!

4

3 に答える 3

1

このエラーの背後にある原因は、プログラムのデータセットと実際のデータベースとの間の通信の欠如であることが判明しました。最初にエラーを受け取ったとき、入力したテキスト データをデータベースに残し、DataGridView の行の許容サイズを変更して、プログラムを再構築しました。ただし、データセットはサイズの変更を反映するように更新されませんでした。エラーが既に発生していたため、データセットとデータベース間の通信がシャットダウンされていました。つまり、データセットは、それ自体を「保護」するために更新されませんでした (それは必要ではありませんでしたが)。

デザイナーで DGV を再バインドすることで問題を解決しました。DGV のデータ ソース プロパティを none に設定し、接続に付属していた 3 つのアダプターを削除し、古いデータセットを削除しました。すべてが明確になった後、(同じ接続文字列を使用して) データ接続を再作成したところ、エラーはなくなりました。これが同じ問題に遭遇した人に役立つことを願っています.DGVは卑劣です.

于 2013-08-12T14:49:46.833 に答える
0

「メモ」列を作成するときに、使用するために指定したタイプ。
私自身が使っていますvarChar(maxStringLenth)

また、より効率的に支援できるように、dataGrid と DataBase に関する技術情報を提供していただけますか

于 2013-08-08T22:05:54.897 に答える