一个经典的问题!怎么实现记录的横排!(急!在线等!!)

游陆 2005-06-09 09:25:21
在asp中怎么用代码实现记录的横排!以前老是用的下面这种!
<%
conn="driver={sql server};server=.;database=2005;uid=sa;pwd="
set nn=server.createobject("adodb.connection")
set mm=server.createobject("adodb.recordset")
nn.open conn
sqlstr1="select top 6 * from qyswcompany order by id desc"
mm.open sqlstr1,nn,3,1
do while not mm.eof
if len(mm("companyname"))>=7 then
title3=left(mm("companyname"),7)&"..."
else
title3=mm("companyname")
end if %>
<tr>
<td height="22"> </td>
<td><a href=showinfo.asp?id=<%=mm("id")%>><%= title3 %></a></td>
<td> </td>
</tr>
<% mm.movenext
loop
mm.close
set mm=nothing %>


这种老是按行显示所有记录/我先现在想让记录显示在一个行可以不限制/但有4列的表格中
怎么实现这种记录的显示方式!请高手们指导!或者给我个例子!谢谢了!
...全文
111 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
游陆 2005-06-09
  • 打赏
  • 举报
回复
谢谢三楼的兄弟!我把代码加了说明给大家!


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 = 10 '定义列数

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
lwj180 2005-06-09
  • 打赏
  • 举报
回复
Dim Conn,oRs,Sql
Sql = "select CustomerID from Orders"
Dim TotalNumbe
Set Conn= Server.CreateObject("ADODB.Connection")
cn.Open "Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=work;Data Source=.;Password=;"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open Sql, Conn, 3, 1
TotalNumber = oRs.RecordCount
If TotalNumber = 0 Then
Response.Write "没有记录输出。"
Else
Dim a,b,c
a = 0
c= 150
b= c- (TotalNumber Mod c)
If b= nCol Then b= 0
Response.Write "<table border><tr>" & vbCrLf
While not oRs.EOF
Response.Write "<td>" & oRs("ID") & "</td>" & vbCrLf

If (a Mod c) = (c- 1) Then
If a <> TotalNumber - 1 Then
Response.Write "</tr><tr>" & vbCrLf
Else
Response.Write "</tr>" & vbCrLf
End If
End If
a = a + 1
oRs.MoveNext
Wend
If b<> 0 And b<> c Then
If c< TotalNumber Then
For i = 1 to b
Response.Write "<td> </td>" & vbCrLf
Next
End If
Response.Write "</tr>" & vbCrLf
End If
Response.Write "</table>"
End If
oRs.Close
Set oRs = Nothing
Conn.Close
Set Conn= Nothing

游陆 2005-06-09
  • 打赏
  • 举报
回复
谢谢三楼的兄弟!我把代码加了说明给大家!


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 = 10 '定义列数

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
wangwm 2005-06-09
  • 打赏
  • 举报
回复
<%
dim Counter '纪录横排的数量
conn="driver={sql server};server=.;database=2005;uid=sa;pwd="
set nn=server.createobject("adodb.connection")
set mm=server.createobject("adodb.recordset")
nn.open conn
sqlstr1="select top 6 * from qyswcompany order by id desc"
mm.open sqlstr1,nn,3,1
Counter = 0
do while not mm.eof
if len(mm("companyname"))>=7 then
title3=left(mm("companyname"),7)&"..."
else
title3=mm("companyname")
end if
if Counter = 0 then
Response.write "<tr><td>"
else
Response.write "<td>"
end if
Response.write "<a href='showinfo.asp?id=" & mm("id") & "'>" & title3 & "</a>"
Counter = Counter+1
if Counter = 3 then
Response.Write "</td></tr>"
Counter=0
else
Response.Write "</td>"
end if
mm.movenext
loop
mm.close
set mm=nothing
%>
游陆 2005-06-09
  • 打赏
  • 举报
回复
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
游陆 2005-06-09
  • 打赏
  • 举报
回复
3楼的就看懂了!
孟子E章 2005-06-09
  • 打赏
  • 举报
回复
http://ms.mblogger.cn/net_lover/posts/8089.aspx

将ASP纪录集输出成n列的的表格形式显示的方法
kevin_gao 2005-06-09
  • 打赏
  • 举报
回复
我怎么看不懂楼主的意思啊!

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧