状況の簡単な説明。
ユーザーがいくつかの検索条件を選択し、検索ボタンを押して、グリッドに表示される結果を確認できるWebアプリケーション。
このアプリケーションは、開発サーバーで期待どおりに機能します。ただし、顧客のサーバーにデプロイすると、グリッドのページングが壊れます。最初のページは正しいですが、次のページは正しい行を返しません。私は例で何が起こるかを説明することしかできません:
ページ1に結果1〜10、ページ2の結果11〜20などを表示するとします。
何が起こるかは次のようなものです:ページ1は1-10を示し、ページ2は1,2,3,4、6、8、9,28,29,30を示しますページ3は1,2,3,28,29,36を示します、37、..
そのため、行がめちゃくちゃになり、多くの結果が表示されることはありません(前のページの結果に置き換えられます)。また、行が数だけずれているわけではないことにも注意してください。
何時間も検索とデバッグを行った後、使用されているSqlDataAdapterのFill()メソッドが間違った結果を返すと結論付けることしかできません。アダプタは、SQLクエリをプレーンテキストとして使用するSqlCommandを使用します。このクエリはSQLServerManagement Studioで実行でき、正しい結果が返されるため、.NETFramework自体の内部で実際に問題が発生する必要があります。
.NETソースデバッグを有効にしてFillメソッドにステップインしようとしましたが、それを機能させることができないため、基本的にオプションがなくなりました。
ヒント/提案は大歓迎です!
<問題は解決しました。以下の回答を参照してください>