大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> 数据异步加载

数据异步加载

时间: 2021-07-31 作者:daque

 异步加载是ado的一种数据加载办法,重要由记载集的options参数来遏制!

ado210.chm中的方法:recordset.open source, activeconnection, cursortype, locktype, options

options 可选。long 值,引导供给者计划 source 参数的办法(即使该参数表白除 command 东西除外的某些实质),大概引导 recordset 该当从往日生存过的文献中回复。不妨是一个或多个 commandtypeenum 或 executeoptionenum 值,那些值不妨用位 and 操纵符拉拢。

executeoptionenum指定供给者实行吩咐的办法。

恒量 值 证明 adasyncexecute 0x10 引导吩咐将异步实行。 该值不许与 commandtypeenum 的值 adcmdtabledirect 拉拢。 adasyncfetch 0x20 引导在 cachesize 属性中指定的初始数目此后的结余即将被异步检索。 adasyncfetchnonblocking 0x40 引导检索时干线程从不会阻碍。即使未检索到所乞求的行,暂时即将自行挪动到文献结果。 即使从包括长久保存 recordset 的 stream 中翻开 recordset,那么 adasyncfetchnonblocking 将不起效率;该操纵将同步举行并爆发阻碍。

当 adcmdtabledirect 选项被用来翻开 recordset 时,adasynchfetchnonblocking 不起效率。 adexecutenorecords 0x80 引导吩咐文本是不归来行的吩咐或保存进程(比方,仅插入数据的吩咐)。即使检索就任何行,它们将被停止且不归来。 adexecutenorecords 只能动作可选参数传播给 command 或 connection 的 execute 本领。 adexecutestream 0x400 引导吩咐实行的截止该当动作流归来。 adexecutestream 只能动作可选参数传播给 command 的 execute 本领。 adexecuterecord   引导 commandtext 是一个吩咐或保存进程,它归来该当被动作 record 东西归来的简单行。 adoptionunspecified -1 引导未指定吩咐。

commandtypeenum指定证明吩咐参数的本领。

恒量 值 证明 adcmdunspecified -1 不指定吩咐典型的参数。 adcmdtext 1 按吩咐或保存进程挪用的文本设置计划 commandtext。 adcmdtable 2 按表名计划 commandtext,该表的列十足是由里面天生的 sql 查问归来的。 adcmdstoredproc 4 按保存进程名计划 commandtext。 adcmdunknown 8 默许值。引导 commandtext 属性中吩咐的典型未知。 adcmdfile 256 按长久保存的 recordset 的文献名计划 commandtext。只与 recordset.open 或 requery 一道运用。 adcmdtabledirect 512 按表名计划 commandtext,该表的列被十足归来。只与 recordset.open 或 requery 一道运用。若要运用 seek 本领,必需经过 adcmdtabledirect 翻开 recordset。 该值不许与 executeoptionenum 的值 adasyncexecute 拉拢。 普遍用这个参数adasyncfetch来遏制,其余须要.properties("inital fetch size")=50其余不妨参考《msce的vb散布式运用的开拓》

举例,vb6.0的代码:

dim adors as adodb.recordset

set adors =new adodb.recordsetwith adors    .cursorlocation = aduseclient    .properties("initial fetch size") = 50    .open mstrsql, adocn, adopenstatic, adlockoptimistic, adasyncfetch    if .bof = false or .eof = false then     '--------------    else    end ifend with

归纳:很多的网友都问大数目加载的题目,此刻这种办法不妨较快的归来数据。普遍100万数据,前方50条只须要5~6秒就返回顾!这个办法须要提防的是:

1。即使返数据量太大,而半途要废除,须要用adocn.cancel来废除查问,要不数据会连接归来数据。

2。即使数据量太大,记载集的开释会有题目。即使数据量在200m~300m时,set adors=nothing 不会赶快开释高速缓存。蓄意有其它网友不妨供给本人的看法。

3。对大数据量时,c/s开拓中供给翻页/网格的震动条贯串的办法,对用户来话是极为简单。有的网友供给用保存进程来实行。自己在开拓进程用分页控件与异步加载的数据源贯串,实行了很好的数据欣赏。

开拓情况:vb6.0+ms sql server 2k +windows ads 2k经过。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.