<%@ Language=VBScript %>
<% Option Explicit %>
<%
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Provider = "MSDataShape"
objConn.Open "DSN=University"
Dim objClassRS, objProfessorRS, objProjectRS, objTextBookRS
Dim strShapeSQL
strShapeSQL = "SHAPE {SELECT ProfessorID, FirstName, LastName, PhoneNumber " & _
" FROM Professor}" & _
" APPEND((SHAPE {SELECT ClassID, ClassName, RefNumber, ProfessorID FROM Class} AS Class " & _
"APPEND({SELECT Title, Price, ClassID FROM TextBook} AS Book " & _
"RELATE ClassID TO ClassID)) " & _
" RELATE ProfessorID TO ProfessorID), " & _
" ({SELECT Title, ProfessorID FROM Project} AS Project " & _
" RELATE ProfessorID TO ProfessorID)"
Set objProfessorRS = Server.CreateObject("ADODB.Recordset")
objProfessorRS.Open strShapeSQL, objConn
Do While Not objProfessorRS.EOF
Response.Write "
"
Response.Write objProfessorRS("FirstName") & " "
Response.Write objProfessorRS("LastName") & _
" (Phone: " & objProfessorRS("PhoneNumber") & ")
"
Response.Write " Classes:
"
Set objClassRS = objProfessorRS("Class").Value
Do While Not objClassRS.EOF
Response.Write " " & _
objClassRS("ClassName") & _
" (" & objClassRS("RefNumber") & ")
"
Response.Write " Books:
"
Set objTextBookRS = objClassRS("Book").Value
If objTextBookRS.EOF then
Response.Write " None...
"
Else
Do While Not objTextBookRS.EOF
Response.Write " " & _
objTextBookRS("Title") & " (" & _
FormatCurrency(objTextBookRS("Price")) & ")
"
objTextBookRS.MoveNext
Loop
End If
objClassRS.MoveNext
Loop
Response.Write " Projects:
"
Set objProjectRS = objProfessorRS("Project").Value
Do While Not objProjectRS.EOF
Response.Write " " & _
objProjectRS("Title") & "
"
objProjectRS.MoveNext
Loop
objProfessorRS.MoveNext
Loop
objProfessorRS.Close
Set objProfessorRS = Nothing
objConn.Close
Set objConn = Nothing
%>