| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 649 人关注过本帖
标题:谁给我的这几行程序优化一下,呵呵!!(在等..)
只看楼主 加入收藏
yzwt2004
Rank: 1
等 级:新手上路
帖 子:472
专家分:0
注 册:2006-1-18
收藏
 问题点数:0 回复次数:3 
谁给我的这几行程序优化一下,呵呵!!(在等..)
<%for np=request("n1") to request("n2")
set rs=server.CreateObject("adodb.recordset")
sql="select * from dfgr"
rs.open sql,conn,1,3
rs.addnew
rs("aa")=request("aa")
..
..
..
rs.update
rs.close
set rs=nothing
next
%>
这里只有5个字段,有个备注型的,我搞了一下,大约300多条记录一同录进时就说iis超时了(本地测试)
是不是还有什么别的好法子??

[此贴子已经被作者于2007-1-2 13:18:29编辑过]

搜索更多相关主题的帖子: 程序优化 
2007-01-02 10:51
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
需要用到临时表来提高性能,大致如下
conn.cursorType=adUseClient '把数据库链接的游标类型设置成客户端游标


set rs=server.CreateObject("adodb.recordset")
sql="select * from dfgr"
rs.open sql,conn,adOpenStatic,adLockBatchOptimistic,adCmdText '打开方式为静态数据集,更新方式为批量更新
SET rs.ActiveConnection=NOTHING '暂时断开数据集和数据库之间的链接

for .... '你用的for的位置不对,使得每次for循环都执行了一次数据库链接和查询操作
rs.addnew
rs("aa")=request("aa")
..
..
..
'添加n次数据
next

SET rs.ActiveConnection=conn '重新恢复数据库链接
rs.batchUpdate() '批量提交更新
rs.close
set rs=nothing
next

[此贴子已经被作者于2007-1-2 11:32:19编辑过]


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-01-02 11:31
yzwt2004
Rank: 1
等 级:新手上路
帖 子:472
专家分:0
注 册:2006-1-18
收藏
得分:0 
以下是引用渚薰在2007-1-2 11:31:51的发言:
需要用到临时表来提高性能,大致如下
conn.cursorType=adUseClient '把数据库链接的游标类型设置成客户端游标


set rs=server.CreateObject("adodb.recordset")
sql="select * from dfgr"
rs.open sql,conn,adOpenStatic,adLockBatchOptimistic,adCmdText '打开方式为静态数据集,更新方式为批量更新
SET rs.ActiveConnection=NOTHING '暂时断开数据集和数据库之间的链接

for .... '你用的for的位置不对,使得每次for循环都执行了一次数据库链接和查询操作
rs.addnew
rs("aa")=request("aa")
..
..
..
'添加n次数据
next

SET rs.ActiveConnection=conn '重新恢复数据库链接
rs.batchUpdate() '批量提交更新
rs.close
set rs=nothing
next

有点不对呀
问题1: conn.cursorType=adUseClient '把数据库链接的游标类型设置成客户端游标

这个放在什么地方?
response.buffer=true '启用缓冲处理
dim conn,strconn
on error resume next
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("qwj.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
conn.cursorType=adUseClient '这行不管是加还是不加,或者删上一行只留这一行都不行。

问题2:
无法录入数据库,
我把你的红色部分,删除或有些留有些删,都试过了,还是没法录入数据


想学 .Net 了
2007-01-02 12:36
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
不好意思,纠正下,不是cursorType而是coursorLocation,
conn.cursorLocation=adUseClient
conn.open strConn

另外,adUseClient等这些是字面常量,有对应的数字,如果你未包含这些字面产量的话,是会出错的

以下是字面常量定义的文件,包含到网页里就可以了
Q0dSXkRK.rar (4.04 KB)

[此贴子已经被作者于2007-1-3 10:39:32编辑过]


个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-01-03 10:37
快速回复:谁给我的这几行程序优化一下,呵呵!!(在等..)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024734 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved