6.2 ASPファイルからのデータベースの利用

■Connectionオブジェクトの生成

 ASPファイルでデータベースにアクセスするには、いくつかの準備がいります。まず、ADOを使用できるようにするためにConnectionオブジェクトを生成する必要があります。その書式は次のようにします。

<% Set objConn = Server.CreateObject("ADODB.Connection") %>

objConnは、Connectionオブジェクトを示すオブジェクト型変数です。

■データベースへの接続

 次に、使用したいデータベースに接続します。この接続にはConnectionオブジェクトのOpenメソッドを使用します。その書式は次のようにします。

<% objConn.Open "データソース名" %>

ここで、objConnは先に生成したConnectionオブジェクトの変数名と同じでなければなりません。

(例)<% objConn.Open "aspZADO" %>

■Recordsetオブジェクトの生成

 データベースに接続した後は、個々の処理目的に応じて必要なテーブルやクエリーなどを開き、レコードの検索、抽出、追加、更新などの処理を行います。このとき、テーブルやクエリーなどに含まれる特定のレコードの集まりをRecordsetという概念で取り扱います。

 Recordsetオブジェクトの生成法には2通りあります。Connection.Executeメソッドによる方法と、Server.CreateObjectメソッドによる方法です。

Connection.Executeメソッド

 Connection.ExecuteメソッドによりRecordsetオブジェクトを生成するには、次の書式を使います。

<% Set objRst = objConn.Execute("SQL文") %>

objRstは生成したRecordsetオブジェクトを示す変数名です。objConnは先に生成したConnectionオブジェクトの変数名と同じでなければなりません。

(例) <% Set objRst = objConn.Execute("SELECT * FROM tblName") %> 

 ただ、このようにExecuteメソッドで生成したRecordsetに対してはあまり複雑な処理はできません。複雑な処理を行う場合は、次のServer.CreateObjectメソッドによりRecordsetオブジェクトを生成します。

Server.CreateObjectメソッド

 Server.CreateObjectメソッドによりRecordsetオブジェクトを生成するには、次の書式を使います。

<% Set objRst = Server.CreateObject("ADODB.Recordset") %>

objRstは、Recordsetオブジェクトを示す変数名です。

次に、具体的なテーブルを開いたり、クエリーを実行したりします。その書式は次にのようになります。

<% objRst.Open SQL文またはテーブル名, objConn, カーソルの種類, ロックの種類 %>

objConnは、接続中のConnectionオブジェクトを示す変数名です。

(例) <% objRst.Open "SELECT * FROM tblName", objConn, 1, 1 %>

■クローズ

 Recordsetオブジェクトの処理が終わったら、そのRecordsetオブジェクトを開放します。その書式は、次の通りです。

<% objRst.Close %> 

 また、データベースへのアクセスが終了したら、Connectionオブジェクトを開放します。その書式は、次の通りです。

<% objConn.Close %> 

■サンプル

リスト6.1

<%
Dim objConn, objRst, strSQL


Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "aspZADO"

strSQL = "SELECT * FROM tblName"
Set objRst = objConn.Execute(strSQL)

・・・・・・・・・・・・・・
・・・・・・・・・・・・・・

objRst.Close
objConn.Close
%>

リスト6.2

<%
Dim objConn, objRst, strSQL


Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "aspZADO"

Set objRst = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM tblName"
objRst.Open strSQL, objConn, 1, 1

・・・・・・・・・・・・・・
・・・・・・・・・・・・・・

objRst.Close
objConn.Close
%>

 


目次 前のページ 次のページ