前些日子有网友问:将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 "没有记录输出。" 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> </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 |