网址大全 | 文章大全 | 精选文摘 | 桌面壁纸 | 站长资源 | 在线手册 | 幽默笑话 | 天气预报 | FLASH    | 歇后语
便民查询 | 成语词典 | 五笔字典 | 新华字典 | 周公解梦 | 在线算命 | 生日密码 | 网络电台 | 网站留言 | 许愿墙
您的位置:首页 >> 文章大全 > 网络编程 > ASP
站内搜索:
网络编程专栏
VB.NETASP
ASP.NETC#
数据库PHP
技巧篇Delphi
相关文章
没有相关文章
百度搜索 全网 本站
本类排行 more>>
·ASP中 Request对象探...
·asp读取xml
·asp翻页优化代码
·用ASPSmartUpload组件...
·什么是 Cookie
·如何用Request对象获...
·用数组方法显示数据库...
·给你的网页加把锁
·AspHTTP组件的属性
·Cookies 簡介
最新文章 more>>
·《网站配色方案》系列...
·《网站配色方案》系列...
·岳飞传的流程攻略
·百度漂亮 但Google更...
·个人站长的胜利 新网...
·搜搜问问抢不了百度知...
·视频网站接连败退 营...
·曹操传 杨家将传奇 官...
·专家为股民支招:网络...
·优秀站长访谈:个人网...
用数组方法显示数据库中数据

[ 作者:佚名 来源:网络 点击数:153 加入时间:2005-11-26 ]

【双击左键自动滚屏】【图片上滚动鼠标滚轮变焦图片】 【字体:放大 正常 缩小】 字体颜色:
便民查询  中华五千年  世界五千年  万年历  天气预报  周公解梦  脑筋急转弯  在线翻译  电信话费查询
用数组方法显示数据库中数据

首先,我们先要说说为什么要用数组显示数据,让我用一个简单的例子来说明:
先让我们看看传统的方法:
<%
' 打开数据库
Do While Not rs.eof
    city=rs("city")
    st=rs("state")
    zip=rs("zip")
    rs.movenext
LOOP
' 关闭数据库
%>
假设数据库中有2500条纪录和10个字段,那么用上面的方法就要向服务器发出

30000个请求:
25000 ---- 每个字段数据一次请求,10*2500共25000次
2500  ---- 每次rs.movenext一次请求,共2500条纪录,因此共2500次
2500  ---- 读取每一条纪录之前都要检测rs.eof,共2500条纪录,因此共2500次
这样一算,就是向服务器发出30000次请求

如果要是用数组呢?相信大家很容易就能理解:

myrs.getrows()

仅向服务器发出这一次请求,就把所有的数据都读了出来,并存在了一个有

2500*10=25000个元素的二维数组中,也就是说:1次请求代替了30000次。

通过这么一比较,我想没有人会说do while not myrecordset.eof ... loop方法

比数组方法显示纪录快,因此在我们编写asp程序时,我们要尽量用数组方法显示

纪录。


要将数据存入数组,就要用到recordset对象的getrows方法

首先,我们先介绍一下getrows的使用方法:

GetRows( [Rows], [Start] , [Fields])

把记录接收到一个二维数组之内。该数组自动创建。数组的第一个索引指明记录

的域;第二个索引标志该记录。Rows指明从记录集中接收多少条记录。缺省时接

收所有的记录。Start指明从记录集中何处开始接收记录,这里使用了书签。所以

如果想使用该参数,记录集必须支持书签功能。Fields是一个单独的域名或一个

域名数组,我们用它来限制在数组中接收哪些域。


实例:

<%
'连结数据库
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open server.mappath("test.mdb")

'在这里,我们假设我们有一个数据库,名为test.mdb,其中有一个test表
'我们的目的是将数据表中的所有数据输出,比较原始的方法也就是很多人都在用

的方法是do while not myrecordset.eof ... loop
'而这里我用的却不是这个方法,而是recordset的另一个方法,是先将表中的所

有纪录存在一个二维数组中,然后将他们显示,具体例子请看如下代码:

'创建recordset对象
set rs=server.createobject("adodb.recordset")
sql="select * from test order by id desc"
rs.open sql,conn,1,1

'将所有数据存入一个名为myarray的二维数组
myarray=rs.getrows()

'将这个二维数组显示,也就是显示出所有纪录
'rscont:表示第几条纪录
'rscolumn:表示第几个字段的内容
'ubound函数的使用方法请查阅vbscript参考手册
for rscount=0 to ubound(myarray,2)
for rscolumn=0 to ubound(myarray,1)
  response.write myarray(rscolumn,rscount)&"  "
next
response.write "
"
next
%>




国家纸币  自考信息  度量转换  搜索引擎指南  城市经纬度  脑筋急转弯  各国资料  名言辞典  违章查询
·上一篇文章:实现ASP文件在线发邮件
·下一篇文章:JS实现浏览器菜单命令
百度搜索更多内容:用数组方法显示数据库中数据
推荐文档】 【打印文档】 【返回页首】 【关闭窗口