Sql server 经典ASP检索大量数据

Sql server 经典ASP检索大量数据,sql-server,asp-classic,Sql Server,Asp Classic,我有一个超过148000行的表,我通过执行以下操作来显示它: <%response.Buffer=false%> 然而,这远远不够理想,因为它需要在服务器上完成,而且需要很长时间。有更好的方法吗 非常感谢,, Joel虽然我同意其他人的观点,即在一页上显示148000行是疯狂的,但我只是想让您注意如何输出数据 由于您没有指定任何代码,我假设您只是在记录集中循环以显示记录,如下所示: Do While Not RS.EOF //Output RS.MoveNext Loop

我有一个超过148000行的表,我通过执行以下操作来显示它:

<%response.Buffer=false%> 

然而,这远远不够理想,因为它需要在服务器上完成,而且需要很长时间。有更好的方法吗

非常感谢,,
Joel

虽然我同意其他人的观点,即在一页上显示148000行是疯狂的,但我只是想让您注意如何输出数据

由于您没有指定任何代码,我假设您只是在记录集中循环以显示记录,如下所示:

Do While Not RS.EOF
//Output
RS.MoveNext
Loop
在经典ASP中,这是一种非常低效的数据处理方式,因为每次读取字段(即RS(“名称”))时,您都会向数据库发出请求,并且每次MoveNext和每次EOF测试也是如此。相反,您应该使用GetRows,将记录集中的所有元素放入一个数组,然后可以继续并关闭与数据库的连接

有一篇关于如何使用GetRows的好文章

除本条外:

MyArray = rsMyRecordSet.GetRows()

//Close DB connection

Ubound(MyArray,1) 'Returns the Number of Columns
Ubound(MyArray,2) 'Returns the Number of Rows
For lnLoopCounter = 0 To Ubound(MyArray,2)
    Response.Write MyArray(0, lnLoopCounter) _
      & ", " _
      & MyArray(1, lnLoopCounter) _
      & "<BR>" & vbNewLine
Next
MyArray=rsMyRecordSet.GetRows()
//关闭数据库连接
Ubound(MyArray,1)'返回列数
Ubound(MyArray,2)'返回行数
对于lnLoopCounter=0到Ubound(MyArray,2)
响应。写入MyArray(0,lnLoopCounter)_
& ", " _
&MyArray(1,lnLoopCounter)_
&“
”&vbNewLine 下一个
虽然我同意其他人的观点,即在一页上显示148000行是疯狂的,但我只是想让您注意如何输出数据

由于您没有指定任何代码,我假设您只是在记录集中循环以显示记录,如下所示:

Do While Not RS.EOF
//Output
RS.MoveNext
Loop
在经典ASP中,这是一种非常低效的数据处理方式,因为每次读取字段(即RS(“名称”))时,您都会向数据库发出请求,并且每次MoveNext和每次EOF测试也是如此。相反,您应该使用GetRows,将记录集中的所有元素放入一个数组,然后可以继续并关闭与数据库的连接

有一篇关于如何使用GetRows的好文章

除本条外:

MyArray = rsMyRecordSet.GetRows()

//Close DB connection

Ubound(MyArray,1) 'Returns the Number of Columns
Ubound(MyArray,2) 'Returns the Number of Rows
For lnLoopCounter = 0 To Ubound(MyArray,2)
    Response.Write MyArray(0, lnLoopCounter) _
      & ", " _
      & MyArray(1, lnLoopCounter) _
      & "<BR>" & vbNewLine
Next
MyArray=rsMyRecordSet.GetRows()
//关闭数据库连接
Ubound(MyArray,1)'返回列数
Ubound(MyArray,2)'返回行数
对于lnLoopCounter=0到Ubound(MyArray,2)
响应。写入MyArray(0,lnLoopCounter)_
& ", " _
&MyArray(1,lnLoopCounter)_
&“
”&vbNewLine 下一个
我知道这是一篇比较老的文章,但我只是想让任何遇到这篇文章的人知道,我为此编写了一个服务器端脚本。请访问:


我知道这是一篇比较老的文章,但我只是想让任何遇到这篇文章的人知道,我为此编写了一个服务器端脚本。请访问:


分页怎么样?单个页面中的148000行将是很多行。为什么需要在一个页面中显示148000行数据?这是可怕的可用性。嘿,我同意-但我正在寻找使用数据表jQuery插件。这里有一些服务器端处理的例子,但在ASP中没有。我想我会把一个转换成另一个。分页怎么样?单个页面中的148000行将是很多行。为什么需要在一个页面中显示148000行数据?这是可怕的可用性。嘿,我同意-但我正在寻找使用数据表jQuery插件。这里有一些服务器端处理的例子,但在ASP中没有。我想我会把一个换成另一个。