現在、IIS+ASPでSQLServerのデータを参照するという極めて単純なWebアプリを
作成しております。
今回のWebアプリには「前へ」リンクと「次へ」リンクを付けてページ機能を
持たせます。1ページ1レコードです。
そこでひとつ問題点が発生しまして皆さんにご質問させて頂きました。
まず簡単にWebアプリ仕組みを申しあげますと、
・「前へ」のリンクのURLの引数には現在のレコード位置-1の値を追加する。
・「次へ」のリンクのURLの引数には現在のレコード位置+1の値を追加する。
・ページを表示する時に取得したレコードセットに対して上記引数分の
MoveNextを行う。
・データを表示する。
そこで気になるのが、レコードが追加されたり、削除されたりした時に
シーケンスがずれてしまう現象が予測されるというところです。
例えば現在表示しているレコードより前のデータがページ表示後に消された場合、
「次へ」をクリックすると、ひとつレコードが飛ばされてしまいます。
あるいはページ表示後に現在表示しているレコードより前にデータが追加された場合、
「次へ」をクリックすると、再度同じレコードが表示されてしまいます。
こういった状況を防ぐには、一般的に皆さんはどのような手法を用いられるの
でしょうか。
どうか知恵をお貸し下さい。宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
VB6でActiveX.dllを作って運用していますが、
Class_Initialize,TerminateでConnectionを接続、破棄しており
ページ間でRecordSetを保持できないため、
毎回読み直しという同様のことをしていますが、
ページ1件での「前へ」「次へ」は行なわないため、
このような問題には意識が希薄です。
一覧表示は100件/頁としており、
RecordSetからMoveで100 * (intPage - 1)で飛ばしています。
この時は追加や削除によるズレは発生することを説明しており、
処理的には「無視」ですね。
No.1
- 回答日時:
レコードセットを開くときにスナップショットで開いて、セッション変数に保持してやればご希望通りの動きは出来ると思います。
ただ追加されたデータや、変更されたデータは見えなくなるので、そういう仕様だということをユーザーに認識してもらう必要があります。
ついでにいうなら、最新のレコードセットを開いて最新情報に更新するようなボタンもあったほうがいいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- IT・エンジニアリング ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:29
- Visual Basic(VBA) ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:27
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- PHP PHP ページング データベース 1 2022/06/16 10:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル書込みで一行もしくは...
-
Access を×ボタンで閉じ...
-
レコードが存在しなかった場合
-
DataGridViewの内容をDBに反映...
-
差し込み印刷のレコード数について
-
JSPのNULLレコード表示について...
-
アクセスでレポートの1印刷内...
-
Access でレコードセレクタが押...
-
サブレンジ分割されたNDB(富士...
-
カレントレコードが無い事を判...
-
レコードセット(ADO.Recordset)...
-
Accessでレコードの更新を任意...
-
ADO VBA 実行時エラー3021
-
ACCESSで大量の更新を行うと「...
-
ワードの差込印刷で教えて下さ...
-
VBでコピー時間を表示したい。
-
SYLKファイルフォーマットについて
-
Accessデータシートビューの行...
-
ヘッダレコードとトレーラレコ...
-
最終レコードのレコード番号の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
カレントレコードが無い事を判...
-
レコードが存在しなかった場合
-
ファイル書込みで一行もしくは...
-
DataGridViewの内容をDBに反映...
-
差し込み印刷のレコード数について
-
ワードの差込印刷で教えて下さ...
-
レコードセット(ADO.Recordset)...
-
アクセスでレポートの1印刷内...
-
JSPのNULLレコード表示について...
-
Access でレコードセレクタが押...
-
Line Inputで文字化け(助けて...
-
ヘッダレコードとトレーラレコ...
-
DataGridViewの、選択されてい...
-
サブフォームに新規レコードを...
-
ACCESSで大量の更新を行うと「...
-
[VBA] ADOの Clone と AddNew
-
DataGridViewにてセル以外をク...
-
サブレンジ分割されたNDB(富士...
-
VB6.0のIsNull関数に相当するもの
おすすめ情報