Enhanced ADO with navigation (ASP)
This code can be found in
Chapter 28 of Active Directory, 3rd Edition
Purchase XP Cookbook or Networking Recipes for only $25 plus shipping! While supplies last.
Find out how to download all of the ASP code from this site.
<!--#include file="adovbs.inc" -->
<!--
' From the book "Active Directory, Third Edition"
' ISBN: 0-596-10173-2
-->
<HTML>
<HEAD>
<TITLE>Recordset Navigation using ADSI, ADO and ASP</TITLE>
</HEAD>
<BODY>
<%
' If the page is opened using the Restart button then reload the page
' from scratch by redirecting to the page itself
If Request.Form("Restart") = "Restart" Then
Response.Redirect("rs_demo.asp")
Response.End
End If
' Retrieve the Resultset
Set objConn = CreateObject("ADODB.Connection")
objConn.Provider = "ADSDSOObject"
objConn.Open "", "mycorp\administrator", "My-admin-password!"
Set objRS = objConn.Execute _
("<LDAP://dc=mycorp,dc=com>;(&(objectCategory=person)(objectClass=User))" _
& ";ADsPath;SubTree")
If Request.Form("IsFilterOn") = "FALSE" Then
bolFilter = "FALSE"
ElseIf Request.Form("IsFilterOn") = "TRUE" Then
objRS.Filter = CStr(Request.Form("FilterText"))
bolFilter = "TRUE"
Else
bolFilter = "FALSE"
End If
If Request.Form("Next") <> "" Then
objRS.AbsolutePosition = Request.Form("AbsPosition") + 1
ElseIf Request.Form("Previous") <> "" Then
objRS.AbsolutePosition = Request.Form("AbsPosition") - 1
ElseIf Request.Form("First") <> "" Then
objRS.MoveFirst
ElseIf Request.Form("Last") <> "" Then
objRS.MoveLast
ElseIf Request.Form("SetFilter") <> "" Then
objRS.Filter = CStr(Request.Form("FilterText"))
bolFilter = "TRUE"
ElseIf Request.Form("EraseFilter") <> "" Then
objRS.Filter = adFilterNone
bolFilter = "FALSE"
End If
' If no results were returned, then end the session
' but provide a restart button
If objRS.EOF Then
Response.Write("No users found!")
%>
<FORM METHOD="POST" ACTION="rs_demo.asp">
<INPUT TYPE="SUBMIT" NAME="Restart" VALUE="Restart">
</FORM>
<%
objConn.Close
Set objRS = Nothing
Set objConn = Nothing
Response.End
End If
%>
<! Start the main page>
This is user number <% = objRS.AbsolutePosition %>.
There are <% = objRS.RecordCount %> users in the recordset.<P>
<%
If CStr(Request.Form("FilterText")) = "" Then
strFilter = "Name LIKE 'a*'"
Else
strFilter = CStr(Request.Form("FilterText"))
End If
strUsername = "mycorp\administrator"
strPassword = "My-admin-password!"
Set objNamespace = GetObject("LDAP:")
Set objUser = objNamespace.OpenDSObject(objRS("ADsPath"), _
strUsername,strPassword,0)
Response.Write "Name: <B>" & objUser.Name & "</B><P>"
Response.Write "ADsPath: <B>" & objUser.ADsPath & "</B><P>"
Response.Write "Description: <B>" & objUser.Description & "</B><P>"
Response.Write "Class: <B>" & objUser.Schema & "</B><P>"
%>
<FORM METHOD="POST" ACTION="rs_demo.asp">
<INPUT TYPE="SUBMIT" NAME="Restart" VALUE="Restart">
<INPUT TYPE="HIDDEN" NAME="AbsPosition"
VALUE="<% = objRS.AbsolutePosition %>">
<INPUT TYPE="HIDDEN" NAME="IsFilterOn" VALUE="<% = bolFilter %>">
<% If objRS.AbsolutePosition = objRS.RecordCount Then %>
<INPUT TYPE="SUBMIT" NAME="Previous" VALUE="Previous">
<% ElseIf objRS.AbsolutePosition = 1 Then %>
<INPUT TYPE="SUBMIT" NAME="Next" VALUE="Next">
<% Else %>
<INPUT TYPE="SUBMIT" NAME="Previous" VALUE="Previous">
<INPUT TYPE="SUBMIT" NAME="Next" VALUE="Next">
<% End If %>
<INPUT TYPE="SUBMIT" NAME="First" VALUE="Move First">
<INPUT TYPE="SUBMIT" NAME="Last" VALUE="Move Last">
<P>
<INPUT TYPE="TEXT" NAME="FilterText" VALUE= "<% = strFilter %>">
<INPUT TYPE="SUBMIT" NAME="SetFilter" VALUE="Set Filter!">
<INPUT TYPE="SUBMIT" NAME="EraseFilter" VALUE="Erase Filter!">
</FORM>
</BODY>
</HTML>
|
This code has been viewed 2334 times.
|
New from the creators of TechTasks.com:
StatSheet.com
|