The examples in this section show how to build queries with query-object properties and methods.
This example uses VBScript code to create a query object, set query parameters and execute the query, producing a record set for iterating over results.
<% REM Create the query and record set objects. %>
<% set Query = Server.CreateObject("IXSSO.Query") %>
<% if IsObject(Query) = FALSE then %>
The IXS SSO has not been installed correctly. Please contact the Webmaster for this site.
<% else %>
<% iRequest = Request.ServerVariables("QUERY_STRING") %>
<% Query.SetQueryFromURL(iRequest)
set RS=Query.CreateRecordSet("sequential")
%>
<% end if %>
Next, this example gives VBScript code to iterate over the query results using ADO, and output the query results.
<TABLE CELLPADDING=5 BORDER=0>
<!-- BEGIN column header -->
<TR>
<TD ALIGN=CENTER>
<FONT STYLE="ARIAL NARROW" SIZE=1>Record</FONT>
</TD>
<TD ALIGN=CENTER >
<FONT STYLE="ARIAL NARROW" SIZE=1>File name</FONT>
</TD>
<TD ALIGN=CENTER WIDTH=160 >
<FONT STYLE="ARIAL NARROW" SIZE=1>Path</FONT>
</TD>
<TD ALIGN=CENTER >
<FONT STYLE="ARIAL NARROW" SIZE=1>Size</FONT>
</TD>
<TD ALIGN=CENTER >
<FONT STYLE="ARIAL NARROW" SIZE=1>Write</FONT>
</TD>
</TR>
<!-- BEGIN first row of query results table -->
<%NextRecordNumber = 1%>
<% Do While Not RS.EOF%>
<TR>
<TD ALIGN=CENTER>
<FONT STYLE="ARIAL NARROW" SIZE=1><%=NextRecordNumber %>.</FONT></TD>
<TD ALIGN=CENTER>
<FONT STYLE="ARIAL NARROW" SIZE=1><%=RS("FileName")%></FONT></TD>
<TD ALIGN=CENTER>
<FONT STYLE="ARIAL NARROW" SIZE=1><A HREF="http::<%=RS("vpath")%>"><%=RS("vpath")%></A></FONT></TD>
<TD ALIGN=CENTER>
<FONT STYLE="ARIAL NARROW" SIZE=1><%=RS("Size")%></FONT></TD>
<TD ALIGN=CENTER>
<FONT STYLE="ARIAL NARROW" SIZE=1><%=RS("Write")%></FONT></TD>
</TR>
<%
RS.MoveNext
NextRecordNumber = NextRecordNumber+1
Loop
%>
This example shows how the query and record set can be cached in session variables for reuse on another page:
<%
if IsObject(Session("Query")) And IsObject(Session("record set"))
then
set Q = Session("Query")
set RS = Session("record set")
if RS.RecordCount < > -1 and NextPageNumber < > -1 then
RS.AbsolutePage = NextPageNumber
NextRecordNumber = RS.AbsolutePosition
end if
ActiveQuery = TRUE
else
<!-- Create new query (code omitted for brevity) -->
end if
%>
<!-- Later on the page -->
<%
' If either of the previous or back buttons were displayed, save
' the query and the record set in session variables.
if SaveQuery then
set Session("Query") = Q
set Session("record set") = RS
else
RS.close
Set RS = Nothing
Set Q = Nothing
set Session("Query") = Nothing
set Session("record set") = Nothing
end if
%>
The next example shows how the QUERY_STRING or form variables can be parsed from VBScript without requiring the SetQueryFromURL method.
<%
NewQuery = FALSE
UseSavedQuery = FALSE
SearchString = ""
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
NewQuery = TRUE
SearchString = Request.Form("SearchString")
SortBy = Request.Form("SortBy")
Colset = Request.Form("ColChoice")
Catalog = Request.Form("Catalog")
if Request.Form("Action") = "New Query" then
end if
end if
if Request.ServerVariables("REQUEST_METHOD") = "GET" then
SearchString = Request.QueryString("qu")
SortBy = Request.QueryString("so")
Colset = Request.QueryString("co")
Catalog = Request.QueryString("ct")
if Request.QueryString("pg") <> "" then
NextPageNumber = Request.QueryString("pg")
NewQuery = FALSE
UseSavedQuery = TRUE
else
NewQuery = SearchString <> ""
end if
end if
%>