ホーム > X-Plus > XML Square >  デベロッパーズコーナー  >  XMLとデータベース

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

デベロッパーズコーナー:XMLとデータベース I(6)

2002年01月01日作成 

XMLとデータベース
ADO、ASPとの連携について
(株)日本ユニテック
竹内 理


目次<全10ページ>

2.準備
6.STEP4:Streamオブジェクトに永続化する
    おわりに



STEP4:Streamオブジェクトに永続化する

ここまででレコードセットをXMLファイルに永続化する方法を見てきました。しかし実際にシステムを運用する際、ハードディスクへの入出力を行いたくない場合があります。その場合はどんな方法を使えばよいでしょうか。

ADOにはVer2.5以降、新しくStreamオブジェクトが追加されました。Recordset.Saveメソッドの引数としてこのStreamオブジェクトを設定し、Streamオブジェクトにレコードセットを永続化することができます。また、StreamオブジェクトからRecordsetオブジェクトを開くことも可能です。

では、次のSample3.aspを実行してみます。

<%@ language="VBscript" %>
<object id="rs" progid="ADODB.Recordset" runat="Server"></object>
<object id="stm" progid="ADODB.Stream" runat="Server"></object>
<%
       Option Explicit
       Response.Buffer = true
       Dim strSQL,strConn,strStm,s

       Response.ContentType="text/html"
       Response.Expires= 0
       Response.Buffer = false

       strSQL = "select * from person"
       strConn = "DSN=adotest;UID=;PWD=;DATABASE="
       rs.Open strSQL,strConn    '①データベースからデータを取得
       rs.Save stm,1    '②レコードセットをStreamオブジェクトに永続化
       rs.Close

       s = stm.size
       strStm = stm.ReadText(s)    '③Streamオブジェクトの内容を文字列に入れる
       strStm = Replace(strStm,"<","<")
       strStm = Replace(strStm,">",">")
%>
<HTML><BODY>
<P><%=strStm%></P>
</BODY></HTML>
<%
       stm.Position=0
       rs.Open stm    '④StreamオブジェクトからRecordsetオブジェクトを開く
%>
<リスト5.Sample3.asp>

ではこのソースを詳しく見ていきましょう。①でデータベースからデータを取得します。②ではSaveメソッドの引数にStreamオブジェクトをセットしレコードセットをStreamに永続化します。③でStreamオブジェクトの内容を文字列に出力します。その処理が終わった後④では再びRecordsetを開きます。Openメソッドの引数にStreamオブジェクトをセットしている点に注意してください。実行すると次のようにStreamオブジェクトの内容が表示されたでしょう。


<図2. Streamオブジェクトに永続化されたレコードセットを表示する>



この記事と関連の高い記事

関連キーワード:ADO


関連キーワード:ASP


関連キーワード:データベース




ページトップへ戻る