<!-- #include file="adovbs.inc" -->
<%
' ADO constants included above. Questions about adovbs.inc?
' See "What is Adovbs.inc and Why Do I Need It?"
' http://www.asp101.com/articles/john/adovbs/default.asp
Dim strConnString ' SQL Server connection string
Dim cnnDbSort ' ADO Connection object
Dim rstDbSort ' ADO Recordset object
Dim strSqlQuery ' Our SQL query
Dim strSortField ' Field to sort by
Dim strSortOrder ' "ASC" or "DESC"
Dim objField ' Used for table display
Dim blnColor ' Alternating color indicator
' Set our connection string
strConnString = "Provider=SQLOLEDB;Data Source=10.2.2.133;" _
& "Initial Catalog=samples;User Id=samples;Password=password;" _
& "Connect Timeout=15;Network Library=dbmssocn;"
' Retrieve sorting parameters:
' Get the field name and make sure the input is one of our field names.
strSortField = Request.QueryString("field")
Select Case LCase(strSortField)
Case "last_name", "first_name", "sales"
strSortField = strSortField
Case Else
strSortField = "id"
End Select
' Check for descending o/w we default to ascending
Select Case LCase(Request.QueryString("order"))
Case "desc"
strSortOrder = "DESC"
Case Else
strSortOrder = "ASC"
End Select
' Build our SQL query
strSqlQuery = "SELECT * FROM [sample] ORDER BY [" & strSortField & "] " & strSortOrder & ";"
' Open connection
Set cnnDbSort = Server.CreateObject("ADODB.Connection")
cnnDbSort.Open strConnString
' Get recordset
Set rstDbSort = Server.CreateObject("ADODB.Recordset")
rstDbSort.Open strSqlQuery, cnnDbSort
' Build our table:
' Start the table
Response.Write "<table border=""1"" cellspacing=""0"">" & vbCrLf
' Write titles and include links to sort the table by each field
Response.Write vbTab & "<tr>" & vbCrLf
For Each objField in rstDbSort.Fields
Response.Write vbTab & vbTab & "<td bgcolor=""#CCCCCC""><strong>" & objField.Name
Response.Write " ("
Response.Write "<a href=""?field=" & objField.Name & "&order=asc"">+</a>"
Response.Write " / "
Response.Write "<a href=""?field=" & objField.Name & "&order=desc"">-</a>"
Response.Write ")</strong></td>" & vbCrLf
Next 'objField
Response.Write vbTab & "</tr>" & vbCrLf
' Display the data
blnColor = False
rstDbSort.MoveFirst
Do While Not rstDbSort.EOF
'Response.Write rstDbSort.Fields(0).Value & "<br />" & vbCrLf
Response.Write vbTab & "<tr>" & vbCrLf
For Each objField in rstDbSort.Fields
Response.Write vbTab & vbTab & "<td bgcolor="""
' Decide what color to output
If blnColor Then
Response.Write "#CCCCFF" ' Light blueish
Else
Response.Write "#FFFFFF" ' White
End If
Response.Write """>" & Trim(objField.Value) & "</td>" & vbCrLf
Next 'objField
Response.Write vbTab & "</tr>" & vbCrLf
' Toggle our colors
blnColor = Not blnColor
rstDbSort.MoveNext
Loop
' End the table
Response.Write "</table>" & vbCrLf
' Close data access objects and free variables
rstDbSort.Close
Set rstDbSort = Nothing
cnnDbSort.Close
Set cnnDbSort = Nothing
%>