ASP SQL Server Search Record Paging/Pagination ตัวอย่างนี้จะเป็นการเขียนโปรแกรม ASP กับ SQL Server เพื่อค้นหาข้อมูลจาก Table มาแสดงและมีการแบ่งการแสดงผลเป็นหน้า
ตัวอย่าง
AspSQLServerSearchRecordPaging.asp
<% Option Explicit %>
<html>
<head>
<title>ThaiCreate.Com ASP & SQL Server Tutorial</title>
</head>
<body>
<form name="frmSearch" method="get" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<table width="599" border="1">
<tr>
<th>Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="<%=Request.QueryString("txtKeyword")%>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<%
if Request.QueryString("txtKeyword") <> "" Then
Dim Conn,strSQL,objRec,strKeyword
strKeyword = Request.QueryString("txtKeyword")
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Open "Driver={SQL Server};Server=localhost;Database=mydatabase;UID=sa;PWD=;"
'*** Search By Name or Email ***'
strSQL = "SELECT * FROM customer "
strSQL = strSQL & "WHERE (Name LIKE '%"& strKeyword &"%' "
strSQL = strSQL & "or Email LIKE '%"& strKeyword &"%' ) "
Set objRec = Server.CreateObject("ADODB.Recordset")
objRec.Open strSQL, Conn, 1,3
If objRec.EOF Then
Response.write (" Not found record.")
Else
Dim PageLen,PageNo,TotalRecord,TotalPage,No,intID
PageLen = 2
PageNo = Request.QueryString("Page")
if PageNo = "" Then PageNo = 1
TotalRecord = objRec.RecordCount
objRec.PageSize = PageLen
TotalPage = objRec.PageCount
objRec.AbsolutePage = PageNo
%>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
</tr>
<%
No=1
Do While Not objRec.EOF and No <= PageLen
%>
<tr>
<td><div align="center"><%=objRec.Fields("CustomerID").Value%></div></td>
<td><%=objRec.Fields("Name").Value%></td>
<td><%=objRec.Fields("Email").Value%></td>
<td><div align="center"><%=objRec.Fields("CountryCode").Value%></div></td>
<td align="right"><%=objRec.Fields("Budget").Value%></td>
<td align="right"><%=objRec.Fields("Used").Value%></td>
</tr>
<%
No = No + 1
objRec.MoveNext
Loop
%>
</table>
Total : <%=TotalRecord%> Page <%=PageNo%> All Page <%=TotalPage%>
<% IF Cint(PageNo) > 1 then %>
<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=1"><< First</a>
<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=PageNo-1%>">< Back</a>
<% End IF%>
<% IF Cint(PageNo) < TotalPage Then %>
<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=PageNo+1%>">Next ></a>
<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=TotalPage%>">Last >></a>
<% End IF%>
<br>
Go to
<% For intID = 1 To TotalPage%>
<% if intID = Cint(PageNo) Then%>
<b><%=intID%></b>
<%Else%>
<a href="<%Request.ServerVariables("SCRIPT_NAME")%>?txtKeyword=<%=strKeyword%>&Page=<%=intID%>"><%=intID%></a>
<%End IF%>
<%Next%>
<%
objRec.Close()
Conn.Close()
Set objRec = Nothing
Set Conn = Nothing
End IF
End IF
%>
</body>
</html>