高效率的GetRows()的使用方法
发布时间:2008-09-23 18:29:00
标签:GetRows,数据库,性能,asp
Rs.GetRows(N):N代表获取记录数量
Rs.GetRows(1):1表示只返回一行记录
Rs.GetRows(-1):-1表示默认值,返回所有记录
使用GetRows方法生成1个二维数组
用它可以大幅提升ASP的效能.
<%
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db2.mdb")
cmd.ActiveConnection = conn
cmd.CommandText = "Select * from people order by id desc"
Set rs = cmd.Execute
rsArray = rs.GetRows()'Rs.GetRows(N):N代表获取记录数量
For i = 0 To UBound(rsArray, 2)
Response.Write rsArray(0, i)&" | "
Next
%>
10W条记录耗时187.500毫秒,总测试平均值在0.2秒左右
GetRows()方法是将数据从 Recordset 复制到二维数组中,这是一个二维数组,第一个下标标识字段,第二个则标识记录号
所以rsArray = rs.GetRows()
rsArray(0, 0)就表示记录集第一行的第一字段值
rsArray(1, 0)就表示记录集第一行的第二字段值
数组的数据是保存在内存中的,这就从根本上解决了每次显示记录还需向数据库请求的麻烦。
再比如一个BLOG分类的表 b_cat,结构和数据如下:
ID | Title | Intro
------------------------------
1 | 新闻 | 这里是新闻
2 | 文章 | 这里是文章
3 | 下载 | 这里是下载
这样表建立好了,数据也有了,下面用GetRows 方法
Dim Rs_Cat
Dim Arr_Cat
Set Rs_Cat=Conn.ExeCute("Select ID,Title,Intro FROM b_Cat orDER BY ID ASC")
Arr_Cat=Rs_Cat.GetRows
Set Rs_Cat=Nothing
把表数据导出到数组!下面将遍历这个数组
Dim Arr_CatNumS,Arr_CatNumI
Arr_CatNumS=Ubound(Arr_Cat,2) '得到数组中数据的下标
For Arr_CatNumI=0 To Arr_CatNumS
Response.Write("ID:"&Arr_Cat(0,Arr_CatNumI)&" | 标题:"&Arr_Cat(1,Arr_CatNumI)&" | 介绍:"&Arr_Cat(2,Arr_CatNumI)&"<br>")
Next
于是,输出的数据为:
ID:1 | 标题:新闻 | 介绍:这里是新闻
ID:2 | 标题:文章 | 介绍:这里是文章
ID:3 | 标题:下载 | 介绍:这里是下载
很多人可能只知道GetRows方法是形成一个2维数组,但是不知道是怎么样一个2维数组。看看下面的例子:
生成的2维数组通过表格的形式显示出来:
这样就对比起来就清晰多了!


猜你喜欢
- 我就废话不多说了,直接上代码吧!from time import sleepfrom threading importThreadimpor
- 很多时候,查看一个文件夹下的每个文件大小可以轻易的做到,因为文件后面就是文件尺寸,但是如果需要查看一个文件夹下面所有的文件夹对应的尺寸,就发
- 约定:import pandas as pdimport numpy as npfrom numpy import nan as NaN滤除
- 直方图是用于展示数据的分组分布状态的一种图形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状、中心位置以及数
- 独立 fmt Log输出重定向golang的fmt包的输出函数 Println、Printf、PrintStack等,默认将打印输出到os.
- 1. 获取时间1.1 当前时间获取package mainimport ( "
- Py2 时代,访问 MySQL 数据库的模块除了 PyMySQL 和 MySQL-python 之外,还有以速度见长的 Umysql,以及非
- 1、tox 能做什么?细分的用途包括:创建开发环境运行静态代码分析与测试工具自动化构建包针对 tox 构建的软件包运行测试检查软件包是否能在
- 在使用pytorch训练模型,经常需要加载大量图片数据,因此pytorch提供了好用的数据加载工具Dataloader。为了实现小批量循环读
- Python中有两种循环,分别为:for循环和while循环。1. for循环for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环
- 1 集合集合可以使用大括号({})或者set()函数进行创建,但是创建一个空集合必须使用set()函数,而不能用{},大括号是用来创建一个空
- 一、 node安装1)如果不确定自己是否安装了node,可以在命令行工具内执行: node -v (检查一下 版本);2)如果 执行结果显示
- SQL Server Extended Events(下面简称XEvent)是SQL Server 2008里新加的事件处理系统,用来取代S
- random 模块中的常用函数random()返回一个位于区间 [0,1] 内的实数;uniform(a, b)返回一个位于区间 [a,b]
- 当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块。可以通过sys.path查看这些路径,比如:>&
- Python heapq 详解Python有一个内置的模块,heapq标准的封装了最小堆的算法实现。下面看两个不错的应用。小顶堆
- --已知:两种排名方式(分区和不分区):使用和不使用partition--两种计算方式(连续,不连续),对应函数:dense_rank,ra
- 通过web框架搭建一个最简易的程序:第一步:新建一个web框架程序通过CMD进入到想要创建web程序的文件夹数据命令django-admin
- 简介HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-
- Console 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console)。不同浏览器上它的工作方式是不一样的,但这里会