|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
次ページへ渡すレコードセットの引数
nabeさん
[01/07/11 21:56:38]
[407]
|
Re:次ページへ渡すレコードセットの引数
YasNet(管理人)さん
[01/07/11 22:12:55]
[409]
Re:次ページへ渡すレコードセットの引数
nabeさん
[01/07/11 22:23:03]
[411]
Re:次ページへ渡すレコードセットの引数
YasNet(管理人)さん
[01/07/12 10:12:59]
[414]
|
| [407] 次ページへ渡すレコードセットの引数 |
| 投稿者:nabeさん 01/07/11 21:56:38 |
| はじめまして。 ASPをはじめて間もないのnabeといいます。 現在、DBのデータを呼び出してWeb上に表示するプログラムをかいています。 その時にデータ数が多くなってしまう場合1ページに表示されるデータ数に制限を 設けるというような表示方法にしたいと思っています。 昨日からずっと考えたり、調べたりしてPageSize、 AbsolutePage 、PageCountといったようなものが必要だという事はわかったのですが、 サンプル通りに実行しても *ADODB.Recordset (0x800A0BB9) *引数が間違った型、または許容範囲外であるか、競合しています。 といったメッセージが出て上手くいきません。(1ページ目は表示されます) ロックタイプはadLockReadOnly、カーソルタイプはadOpenDynamicがいいかなと思って試してみたのですが、だめでした。 何度試しても全くだめで本当に困っています!! 長くなりますが、以下にソースを記述します。 ご教授宜しくお願いします。 '************************************************ <%@ Language=VBScript %> <!-- #include file="adovbs.inc" --> <% If Request.QueryString("NO") = "" Or Request.QueryString("NO") = 0 Then NowPage = 1 Else NowPage = Request.QueryString("NO") NowPage = CInt(NO) End If strSql = "SELECT * FROM order by 順位" 'Connectionオブジェクト作成 Set ConnectionObj = Server.CreateObject("ADODB.Connection") 'DB接続 str = "" ConnectionObj.ConnectionString = str ConnectionObj.Open 'レコードセットオブジェクト作成 Set Rset = CreateObject("ADODB.Recordset") Rset.Open strSql, ConnectionObj, 1, 3, 1 '1ページのレコード数 RSet .PageSize = 20 '現在のページ番号を代入最初は1を代入してる if nowpage = 1 then Rs.absolutepage = NowPage Rs.movefirst else Rs.Move 20 NowPage=Rs.absolutepage 'Rs.absoluteposition = cint((NowPage * 20) +1) end if '全体のページ数 PageCount = Rset.PageCount If Rset.EOF = True And Rset.Bof = True Then ' データなし Else Counter = 1 Do While Counter < Rset.PageSize feild1 = Rset.Fields("feild1").Value feild2 = Rset.Fields("feild2").Value if Rset.EOF = Ture then Exit Do End If Counter = Counter + 1 Rset.MoveNext Loop End If Rset.Fields.Refresh Rset.Close ConnectionObj.Close Set Rset = Nothing Set ConnectionObj = Nothing 'NowPage=現在のページ数 Count1 = CInt(NowPage - 1) Count2 = CInt(NowPage + 1) With Response If Count1 <> 0 Then .write "<a href=このファイル名?NO=" & Count1 & ">[ 前ページ] </a>" & NowPage Else .write " 1 /" End If If Count2 < PageCount Then .write PageCount & "<a href=このファイル名?NO=" & Count2 & ">[ 次ページ ]</a>" Else .write PageCount End If End With %> |
| [409] Re:次ページへ渡すレコードセットの引数 |
| 投稿者:YasNet(管理人)さん の <ホームページ> 01/07/11 22:12:55 |
| こんにちは YasNet です > ASPをはじめて間もないのnabeといいます。 なべさんって私の知ってるなべAさんでは無いですよね(笑 > その時にデータ数が多くなってしまう場合1ページに表示されるデータ数に制限を > 設けるというような表示方法にしたいと思っています。 > 昨日からずっと考えたり、調べたりしてPageSize、 AbsolutePage 、PageCountといったようなものが必要だという事はわかったのですが、 > サンプル通りに実行しても > *ADODB.Recordset (0x800A0BB9) > *引数が間違った型、または許容範囲外であるか、競合しています。 > といったメッセージが出て上手くいきません。(1ページ目は表示されます) まず、どこの行で上記エラーが出ているのでしょうか? サンプルってどこのサンプルでしょうか? DBは何を使ってられるのでしょうか?ACCESS98とか・・・ サーバは何でしょうか?例IIS5とか98のPWSとか・・・ ページコントロールの基本的な考え方として、 ページを管理するか件数を管理するかの2種類あると思います。 提示されているPGでは、考え方が混在?混乱しているよう見えます。 PageSize、 AbsolutePage 、PageCountと言った物をDBのオプションで管理する場合 DBが、対応出来ないものがありますのでご注意ください。 DBのパラメータで動かすのではなく、一度、自分で変数管理して 今回でしたらRs.Move **といった方法でコントロールを一度勉強されると 良いとおもいますよ。 これを理解出来れば、パラメータの使い方も理解できると思いますよ 頑張ってくださいね。 では では |
| [411] Re:次ページへ渡すレコードセットの引数 |
| 投稿者:nabeさん 01/07/11 22:23:03 |
| 足りない部分が多くてすみません。 補足します。 > まず、どこの行で上記エラーが出ているのでしょうか? エラーはレコードセットオープンのところで出ます。 > サンプルってどこのサンプルでしょうか? 色々なところで使われてるサンプルです。 ホームページだったり、本だったりです。 > DBは何を使ってられるのでしょうか?ACCESS98とか・・・ sqlです。 > サーバは何でしょうか?例IIS5とか98のPWSとか・・・ IIS5 > ページコントロールの基本的な考え方として、 > ページを管理するか件数を管理するかの2種類あると思います。 > 提示されているPGでは、考え方が混在?混乱しているよう見えます。 「あれ?何基準でやってるんだっけ?」って感じで途中で気付いてページを基準にしたつもりです。 > PageSize、 AbsolutePage 、PageCountと言った物をDBのオプションで管理する場合 response.writeで表示すると全部ちゃんとした数字が返ってくるので 対応はしてると思います。 もう一度整理して考えてみます。 ありがとうございます。 |
| [414] Re:次ページへ渡すレコードセットの引数 |
| 投稿者:YasNet(管理人)さん 01/07/12 10:12:59 |
| こんにちは YasNet です > > まず、どこの行で上記エラーが出ているのでしょうか? > エラーはレコードセットオープンのところで出ます。 多分確認は、されているでしょうが、変数のセット内容を確認してみましょう。 > > サンプルってどこのサンプルでしょうか? > 色々なところで使われてるサンプルです。 > ホームページだったり、本だったりです。 なるほど、1つのサンプルを参考にしたわけではないのですね。 > > DBは何を使ってられるのでしょうか?ACCESS98とか・・・ > sqlです。 はて、SQLサーバ?MySQL?後者なら、出来ない事があったような・・・ > > サーバは何でしょうか?例IIS5とか98のPWSとか・・・ > IIS5 > > 「あれ?何基準でやってるんだっけ?」って感じで途中で気付いてページを基準にしたつもりです。 > > PageSize、 AbsolutePage 、PageCountと言った物をDBのオプションで管理する場合 > response.writeで表示すると全部ちゃんとした数字が返ってくるので > 対応はしてると思います。 値が帰ってくるだけの物もあったような・・・ 頑張ってくださいね。 では では |
|
TreeBBS For ASP V.0.1.3 |