[ad_1]
データベーステーブルから行を取得するDatagridがあります。
行をダブルクリックしたときにテキストボックスにデータを入力するコードを作成しました。
行をクリックしてもすべてOKでエラーはありません
しかし、最後の行の下をダブルクリックすると、エラーが発生します。
これは VB / VB.net にあります
私が試したこと:
Try/Catch でエラーをトラップしようとしましたが、うまくいきません
解決策 1
これは良い質問ではありません。その小さなことからあなたが何をしようとしているのかを推測することはできません。
私たちは、ユーザーの画面を見たり、HDD にアクセスしたり、ユーザーの心を読み取ることはできないことに注意してください。ユーザーが操作するために入力したものを正確に取得するだけであり、プロジェクトに関するその他のコンテキストは取得しません。
想像してみてください。田舎にドライブに出かけましたが、車に問題が発生しました。 ガレージに電話して、「壊れた」と言って、電話の電源を切ります。 車のメーカーやモデル、あなたが誰であるか、すべてがうまくいかなかったときに何が起こったのか、さらにはあなたがどこにいるのかさえわからない場合、ガレージが車を修理するための適切なビットやツールを備えて到着するまでどのくらい待つことになりますか?
それがあなたがここでやったことです。 したがって、入力をできるだけ少なくして、プロジェクトにアクセスする方法がない人に説明するようにしてください。
私たちには、エラー メッセージが何であるか、それを生成するコードが何であるかがわかりません。また、結果として問題を再現する方法もありません。つまり、問題の解決をお手伝いすることはできません。
それはあなた次第です。
幸いなことに、何が起こっているかを調べるのに役立つツール、デバッガーが利用可能です。 使い方がわからない場合は、Google で「Visual Studio デバッガー」を検索すると必要な情報が得られます。
ダブルクリック ハンドラーの最初の行にブレークポイントを設定し、デバッガーでコードを実行します。 次に、コードとデータを調べて、手動で何が起こるかを考えます。 次に、各行を 1 ステップずつ実行して、期待したことが実際に起こったかどうかを確認します。 そうでない場合は、問題が発生しているときなので、前に戻って (またはもう一度実行して詳しく調べて) 理由を調べることができます。
推測では、空白領域に存在しない行または列のインデックスを使用しようとしており、その結果として「インデックスが範囲外です」エラーが発生していると考えられます。 その解決策は簡単です。範囲外のインデックスとその実際の内容を調べ、使用する前にコードを変更して有効かどうかを確認します。
申し訳ありませんが、私たちはそれを行うことはできません。新しい (そして非常に便利な) スキルであるデバッグを学ぶ時期です。
[ad_2]
コメント