1.5 テーブルのデータを表示する。

■テーブルのデータの一覧表示

リスト1.9 select.asp

01 <%@ LANGUAGE="VBScript" %>
02 <% Option Explicit %>
03 <HTML>
04 <HEAD>
05 <TITLE>select.asp</TITLE>
06 </HEAD>
07 <BODY>
08 <%
09   '定数を定義します
10   Const FOR_DEBUG = "<BR>Debug(select.asp): "
11   Const DATASOURCE = "aspZADO"
12
13   '変数を定義します
14   Dim objConn,objRst,strSQL
15
16   'データベースへのコネクションを設定します
17   Set objConn = Server.CreateObject("ADODB.Connection")
18   'データベースを開きます
19   objConn.Open DATASOURCE
20
21   'テーブルtblQuestionの全フィールドを選択するSQL文を定義します
22   strSQL = "SELECT * FROM tblQuestion"
23   'レコードセットオブジェクトを設定します
24   Set objRst = Server.CreateObject("ADODB.Recordset")
25   'SQL文を実行し、結果をレコードセットobjRstに設定します
26   objRst.Open strSQL, objConn, 1, 1
27
28   'レコードセットobjRstのすべてのレコードを表示します
29  Do While Not objRst.EOF
30     '1つのレコードの内容を表形式で表示します
31 %>
32     <TABLE BORDER=1>
33     <TR>
34       <TD>ID</TD>
35       <TD><%=objRst("ID")%></TD>
36     </TR>
37     <TR>
38       <TD>Q1</TD>
39       <TD><%=objRst("Q1")%></TD>
40     </TR>
41     <TR>
42       <TD>Q21</TD>
43       <TD><%=objRst("Q21")%></TD>
44     </TR>
45     <TR>
46       <TD>Q22</TD>
47       <TD><%=objRst("Q22")%></TD>
48     </TR>
49     <TR>
50       <TD>Q23</TD>
51       <TD><%=objRst("Q23")%></TD>
52     </TR>
53     <TR>
54       <TD>Q24</TD>
55       <TD><%=objRst("Q24")%></TD>
56     </TR>
57     <TR>
58       <TD>Q24txt</TD>
59       <TD><%=objRst("Q24txt")%></TD>
60     </TR>
61     <TR>
62       <TD>Q3</TD>
63       <TD><%=objRst("Q3")%></TD>
64     </TR>
65     </TABLE>
66 <%
67     '次のレコードに移動します
68     objRst.MoveNext
69   Loop
70
71   objRst.Close
72   objConn.Close
73 %>
74 </BODY>
75 </HTML>

図1.12

 罫線内に表示するデータがNULL値だと、図1.12のように罫線が欠落する。そこで、次のように変数の直後に半角のスペースを1個挿入しておきます。

     39 <TD><%=objRst("Q1")%> </TD>

そのように修正したファイルをselect2.aspファイルとします。このselect2.aspファイルにアクセスすると図1.13のように正常に表示されます。

図1.13

 図1.13で最も新しいレコードから順に表示するように変更します。IDフィールドの値をキーとして逆順に表示します。リスト1.9の22行目を

22   strSQL = "SELECT * FROM tblQuestion"

から、

22   strSQL = "SELECT * FROM tblQuestion ORDER BY ID DESC"

に変更します。このファイルをselect3.aspとします。結果は、図1.14のようになります。

図1.14

■フィールドを横方向に表示する

リスト1.10

01 <%@ LANGUAGE="VBScript" %>
02 <% Option Explicit %>
03 <HTML>
04 <HEAD>
05 <TITLE>select4.asp</TITLE>
06 </HEAD>
07 <BODY>
08 <%
09   '定数を定義します
10   Const FOR_DEBUG = "<BR>Debug(select4.asp): "
11   Const DATASOURCE = "aspZADO"
12
13   '変数を定義します
14   Dim objConn,objRst,strSQL
15
16   'データベースへのコネクションを設定します
17   Set objConn = Server.CreateObject("ADODB.Connection")
18   'データベースを開きます
19   objConn.Open DATASOURCE
20
21   'テーブルtblQuestionの全フィールドを選択するSQL文を定義します
22   strSQL = "SELECT * FROM tblQuestion ORDER BY ID DESC"
23   'レコードセットオブジェクトを設定します
24   Set objRst = Server.CreateObject("ADODB.Recordset")
25   'SQL文を実行し、結果をレコードセットobjRstに設定します
26   objRst.Open strSQL, objConn, 1, 1
27 %>
28   <TABLE BORDER=1>
29   <TR>
30     <TD>ID</TD>
31     <TD>Q1</TD>
32     <TD>Q21</TD>
33     <TD>Q22</TD>
34     <TD>Q23</TD>
35     <TD>Q24</TD>
36     <TD>Q24txt</TD>
37     <TD>Q3</TD>
38   </TR>
39 <%
40   'レコードセットobjRstのすべてのレコードを表示します
41   Do While Not objRst.EOF
42   '1つのレコードの内容を表形式で表示します
43 %>
44   <TR>
45     <TD><%=objRst("ID")%> </TD>
46     <TD><%=objRst("Q1")%> </TD>
47     <TD><%=objRst("Q21")%> </TD>
48     <TD><%=objRst("Q22")%> </TD>
49     <TD><%=objRst("Q23")%> </TD>
50     <TD><%=objRst("Q24")%> </TD>
51     <TD><%=objRst("Q24txt")%> </TD>
52     <TD><%=objRst("Q3")%> </TD>
53   </TR>
54 <%
55   '次のレコードに移動します
56   objRst.MoveNext
57   Loop
58 %>
59   </TABLE>
60 <%
61   objRst.Close
62   objConn.Close
63 %>
64 </BODY>
65 </HTML>

 

図1.15

 


目次