将ASP纪录集输出成n列的的表格形式显示的方法
发布时间:2006-10-14 3:47:27   收集提供:gaoqian

前些日子有网友问:将ASP纪录集输出成n列的的表格形式显示的方法,现在写了一个,方便大家使用。
'定义变量
Dim cn,rs,Sql

Sql = "select CustomerID from Orders"

 '记录总数
Dim TotalNumbe
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=NorthWind;Data Source=.;Password=;"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open Sql, cn, 3, 1
TotalNumber = rs.RecordCount
If TotalNumber = 0 Then
 Response.Write "没有记录输出。"
'www.knowsky.com
Else
 Dim jj,nLeft,cCol
 jj = 0
 nCol = 415
 nLeft = nCol- (TotalNumber Mod nCol)
 If nLeft = nCol Then nLeft = 0
 Response.Write "<table border><tr>" & vbCrLf
 While not rs.EOF
  Response.Write "<td>" &  rs("CustomerID") & "</td>" & vbCrLf
  'If (jj Mod nCol) = (nCol - 1) And jj <> TotalNumber - 1 Then Response.Write "</tr><tr>" & vbCrLf
  'If (jj Mod nCol) = (nCol - 1) And jj = TotalNumber-1  Then Response.Write "</tr>" & vbCrLf
 
  If (jj Mod nCol) = (nCol - 1) Then
   If jj <> TotalNumber - 1 Then
    Response.Write "</tr><tr>" & vbCrLf
   Else
    Response.Write "</tr>" & vbCrLf
   End If
  End If
  jj = jj + 1
  rs.MoveNext
 Wend
 If nLeft <> 0 And nLeft <> nCol Then
  If nCol < TotalNumber Then
   For i = 1 to nLeft
    Response.Write "<td>&nbsp;</td>" & vbCrLf
   Next
  End If
  Response.Write "</tr>" & vbCrLf
 End If
 Response.Write "</table>"
End If
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
Response.End

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50