出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

配列においての値の取得   kusaさん [2002/08/09 11:22:40] [2448]
  Re:配列においての値の取得   とこおかさん [2002/08/09 12:04:06] [2449]
    Re:配列においての値の取得   kusaさん [2002/08/09 12:21:20] [2450]
      Re:配列においての値の取得   とこおかさん [2002/08/09 13:47:02] [2451]
        Re:配列においての値の取得   kusaさん [2002/08/09 16:23:06] [2455]
          Re:配列においての値の取得   とこおかさん [2002/08/09 16:31:00] [2456]
            Re:配列においての値の取得   kusaさん [2002/08/09 17:25:33] [2458]
              Re:配列においての値の取得   とこおかさん [2002/08/09 17:47:14] [2459]
                Re:配列においての値の取得   kusaさん [2002/08/10 19:07:49] [2463]

[2448] 配列においての値の取得
投稿者:kusaさん 2002/08/09 11:22:40
よろしくお願いします。
配列を使いまして、値を取得して、
それを表示させたいと考えておりますが、
うまくできません。
何かおかしいところがありましたら、ご教授くださいませ。
下がプログラムです。

dim name(4)

strsql="select * from 顧客 where ふりがな like '%" & request.form("bubun") & "%'"

set rs2=db.execute(strsql)

j=0

do until rs2.eof

session("name(j)")=rs2("名前")
rs2.movenext
j=j+1

loop

response.write "名前は" & session("name(1)")

[2449] Re:配列においての値の取得
投稿者:とこおかさん 2002/08/09 12:04:06
とこおかです。

>うまくできません。
エラーが出てるのでしょうか?

憶測ですが・・・
Db.Openとrs2Openがうまく出来ていないのでは?

あと、
untilの後ろが変な気が・・・
do while Not rs2.EOF
ではどうですか?

[2450] Re:配列においての値の取得
投稿者:kusaさん 2002/08/09 12:21:20
早速の回答ありがとうございました。
えーっと、うまく出来ないと申しますのは
「名前は」という表示だけ出るということです。
本来なら、「名前は田中」というようにデータベースに
登録されている名前を出力したいのです。
db.openは前の段階でやっております。
rs2.openはやっていないです。
(正直あまりわかっていないもので・・・)

> untilの後ろが変な気が・・・
> do while Not rs2.EOF
> ではどうですか?

これと

do until rs2.eof
というのは違うのでしょうか?
自分の中では書き方は違いますが、
まったく同一のものと勝手に判断しておりました。

なんでも結構ですので、これらのことからわかることがありましたら、
ご教授ください。

[2451] Re:配列においての値の取得
投稿者:とこおかさん 2002/08/09 13:47:02
とこおかです。

response.write "名前は" & session("name(0)")
は出てます?
検索データが1件しかなければ最初のsessionはsession("name(0)")になります。
kusaさんの場合だと、2件目を表示させることになりますが、
当然の事ながらデータが1件しか抽出されないとsession("name(1)")はないですよね。


>session("name(j)")=rs2("名前")
ASPでこの書き方はじめて見ました。
出来たからさらにびっくり^^
私もちょっと勉強になりました。
session("name" & j)=rs2("名前")
response.write "名前は" & session("name0")
という風に""で囲ったものは文字列として見て変数は&で繋げると思ってましたので・・・

[2455] Re:配列においての値の取得
投稿者:kusaさん 2002/08/09 16:23:06
何回ものレスありがとうございます、とこおかさま。
データのほうですが、何件ものデータが入っているので、
大丈夫です。
ただ相変わらず、「名前は」だけが表示されるだけで、
うまくいかないです。

素朴な疑問なのですが、配列の宣言は
dim name(4)で問題ないのでしょうか?

なんでも結構ですので、またわかる範囲でアドバイスいただけたら
うれしいです。

[2456] Re:配列においての値の取得
投稿者:とこおかさん 2002/08/09 16:31:00
> データのほうですが、何件ものデータが入っているので、
> 大丈夫です。
検索結果の事ですが・・・。

> 素朴な疑問なのですが、配列の宣言は
> dim name(4)で問題ないのでしょうか?
なくてもいけますよ。
1度、rs("名前")をループさせて抽出されているデータを確認してみては?

[2458] Re:配列においての値の取得
投稿者:kusaさん 2002/08/09 17:25:33
本当に何回もの回答ありがとうございます、とこおかさま。
教えてもらったdo〜loop中に
response.write rs2("名前")
response.write session("name(j)")
を記述ところ、ばっちりループしてくれて、
名前が2回づつ表示されました。
ただ、ループの外に
response.write session("name(0)")
response.write session("name(1)")
このようにname(0)、name(1)というように指定すると、
何も表示してくれません。
思うに、配列の中にうまくデータが格納されていないのかな
と思っているのですが、どうでしょうか?
本当にご迷惑おかけいたします。

[2459] Re:配列においての値の取得
投稿者:とこおかさん 2002/08/09 17:47:14
とこおかです。

do until rs2.eof
session.contents("name" & j)=rs2("名前")
rs2.movenext
j=j+1
loop
i=0
do until i=j
response.write "名前は" & session.contents("name" & i)
i=i+1
loop

これで無理だったらごめんなさい。
お力不足です。
>出来たからさらにびっくり
→やっぱ出来ないみたいです^^;

[2463] Re:配列においての値の取得
投稿者:kusaさん 2002/08/10 19:07:49
お返事遅くなりました。
ホントいろいろアドバイスいただきありがとうございました。
おかげでうまくいくことができました。
いろいろややこしい事いって失礼しました。
感謝です。
またお世話になると思いますが、どうぞお願いいたします。



TreeBBS For ASP V.0.1.3
Program By YasNet