プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

今、次のようなプログラムを書いています。

<%
If Request.Form("Reference") = "スイッチ" Then
Do Until ObjRS.EOF
Response.Write"<input type=""radio"" value="""& ObjRS("番号")&""" name=""Check"">"
<td width="5%"><%=ObjRS("日付")%></td><td width="5%"><%=ObjRS("名前")%></td>
    ObjRS.MoveNext
LOOP
End If
%>

このような書き方をすると、実行したときに
ObjRS.MoveNext LOOP %>
と画面上に表示されてしまい、ループがうまくいきません。

たぶん、ObjRS.MoveNextあたりからプログラムと認知されないで、
HTMLの記述だと認知されているんだと思うんですけど、修正方法がわかりません。
何か方法はあるのでしょうか?

<参考>
開発言語:VBScript
DB:SQLServer2000
開発マシンOS:WindowsXP Professional
サーバOS:Windows2000 Server
開発ツール:FrontPage2000

A 回答 (3件)

<% %>が入れ子になってます。



<td width="5%">
はHTMLの一部なんですからその前に%>が必要ですよね。

あとは、
    ObjRS.MoveNext
の前に<%を追加すれば平気かと。

この回答への補足

回答ありがとうございます。
教えて頂いた通りにやったのですが、うまく表示してくれません。

メインの画面は表示させることが可能なんですが、ボタンを押してデータを表示させようとしてもぜんぜん動きません。

一応修正済(検索条件はなしで、とりあえずボタンを押したらDBにあるデータを全て持ってくるようにしたもの)のソースを載せるので、教えていただいたら幸いです。

~~~~~~~~~~~~~~~~~~~~~~

***** 検索ボタン *****
<input type="submit" value="検索する" name="Reference">

<%
'***** 検索結果の表示 *****
If Request.Form("Reference") = "検索する" Then
sql = "select* from SJ_inf"
objcon.Execute(sql)
Do Until ObjRS.EOF
Response.Write"<input type=""radio"" value="""& ObjRS("no")&""" name=""Check"">"
%>
<td width="5%"><%=ObjRS("no")%></td>
<td width="5%"><%=ObjRS("Sdata")%></td>
<%
ObjRS.MoveNext
LOOP

End If
%>

~~~~~~~~~~~~~~~~~~~~~~

補足日時:2005/01/27 15:21
    • good
    • 0

>objcon.Execute(sql)



Exceteでは結果セットは取得できません。

ADOかDAOかわかりませんが、Recordsetを作成してください。

#って、ObjRSの中に何かを入れるところ、どこにも無いですよね。

この回答への補足

>Exceteでは結果セットは取得できません。

そうなんですか!?
知らなかったです…

>ADOかDAOかわかりませんが、Recordsetを作成してください。
これ(↓)のことでいいんですよね?
Set ObjRS = Server.CreateObject("ADODB.Recordset")
すみません。ここに書いたコードには記述してなかったんですけど、ちゃんとしたソースでは書いてあります。
では、Execute以外のものをやればできるんですか?

補足日時:2005/01/27 18:29
    • good
    • 0

>では、Execute以外のものをやればできるんですか?



ADOのようですのでObjRS.Openですね。

ちなみにExecuteでは、結果としてレコードの値が不要なSQLを実行するために使用します。INSERT、DELETE、UPDATEとかです。


こんな感じで。
http://www5a.biglobe.ne.jp/~n_rieko/asp/16.htm


パラメータなんかは確認してくださいね。
http://www.accessclub.jp/ado/08.html
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

やっぱり自分はまだまだできていないと痛感しました。

お礼日時:2005/01/28 09:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!