Office中国论坛/Access中国论坛

标题: ADO 调用存储过程(数据分页)的示例 [打印本页]

作者: wu8313    时间: 2011-12-14 19:07
标题: ADO 调用存储过程(数据分页)的示例
本帖最后由 wu8313 于 2012-2-14 13:00 编辑

前端ACCESS通过 ADO方式 调用SQL存储过程 可以访问到 我这边的数据(SQL 库数据在我这里)。
查询后结果分页显示,为的是 提高查询效率。
根据加载的记录数 动态显示进度条,用户体验比一次性加载 所有数据要好一些。

[attach]47877[/attach]






作者: roych    时间: 2011-12-14 20:10
嗯,比ADO方便很多,至少不用去考虑每个参数的数据类型~~
作者: wgh3g    时间: 2011-12-14 21:17
学习
作者: LeeTien    时间: 2011-12-16 08:22
使用存储过程要比使用查询快很多
但是服务器端也要编写存储过程吧
而且好像每个参数都要赋值
比如商品查询 有时用户可能输入很多参数 有时只是一两个参数
这个问题我现在还没有找到很好的方法拼接查询语句
作者: wu8313    时间: 2011-12-16 12:32
本帖最后由 wu8313 于 2012-1-1 21:40 编辑
LeeTien 发表于 2011-12-16 08:22
使用存储过程要比使用查询快很多
但是服务器端也要编写存储过程吧
而且好像每个参数都要赋值


1、服务器端肯定要事先 写好存储过程的。
2、输入参数的赋值如果较多,可以采用 默认值。
下图给 startdate 和 enddate 指定了默认值为 空
然后,设定,如果为空的话,startdate='1900-01-01' ; enddate='9999-12-31' .
也就是 ,如果用户不输入日期的话,默认采用了 1900-01-01 ;9999-12-31 这个时间段。


[attach]47692[/attach]


作者: xyh2732    时间: 2011-12-16 22:03
好贵啊。。。谢谢分享
作者: wu8313    时间: 2011-12-17 08:39
xyh2732 发表于 2011-12-16 22:03
好贵啊。。。谢谢分享

本来是 更改为1块的,多敲了一个0,变成10块了,呵呵。
作者: Grant    时间: 2011-12-17 11:59
这个写法还不是太好,可以改进改进
作者: wu8313    时间: 2011-12-17 13:57
本帖最后由 wu8313 于 2012-1-1 20:47 编辑
Grant 发表于 2011-12-17 11:59
这个写法还不是太好,可以改进改进


请指点一下,怎样改进。

作者: LeeTien    时间: 2011-12-24 14:16
查询msl sql库时
即便是空值查询出来的结果集也不是想要的结果集

作者: wu8313    时间: 2011-12-24 19:58
本帖最后由 wu8313 于 2012-6-16 10:55 编辑
LeeTien 发表于 2011-12-24 14:16
查询msl sql库时
即便是空值查询出来的结果集也不是想要的结果集


[attach]47798[/attach]

5个输入参数都为空的话,得到的是全部数据.
作者: t小宝    时间: 2011-12-25 15:28
谢谢分享!
作者: wu8313    时间: 2012-1-1 20:55
本帖最后由 wu8313 于 2012-1-8 11:09 编辑

在存储过程中 事先进行了分页处理。
这样话,每次加载到 子窗体的数据 设定为10条,速度加快了,通过 翻页的方式来浏览数据,用户体验会好一些(无需等待大量数据加载)。
附件已经更新,重新上传在 顶楼。存储过程脚本也在 附件里面

作者: Grant    时间: 2012-1-3 12:25
使用存储过程的话其实几千条数据读取绑定都很快的,10条记录会不会少了点~不过会一目了然,存储过程礼拜你可以学刘小军的查询,最后传递查询条件过去就行,不需要把日期值为空时=默认值
作者: wu8313    时间: 2012-1-3 17:17
本帖最后由 wu8313 于 2012-1-11 19:37 编辑
Grant 发表于 2012-1-3 12:25
使用存储过程的话其实几千条数据读取绑定都很快的,10条记录会不会少了点~不过会一目了然,存储过程礼拜你可以 ...


我修改了一下,默认显示100条数据。用了一个进度条,来显示100条数据逐渐加载的效果。
附件已经更新。

作者: wu8313    时间: 2012-1-11 10:48
本帖最后由 wu8313 于 2012-1-12 15:38 编辑

修改了存储过程,分页加载数据,效率得到了提升.

但是,仍然没法做到 加载几千条数据 也很快的效率。200条以内效率还可以。请大家看看我的存储过程,给出一些建议来提升加载数据的效率。也请大家反馈一下,你那边的加载速度如何。
附件已经更新。(两个存储过程脚本也在 附件里面)。


作者: mclly2000    时间: 2013-6-4 08:36
好东西,正是我要找的
作者: gl_zhangt    时间: 2014-6-5 11:14
谢谢分享
作者: zhouq25    时间: 2014-6-18 10:01
存储过程比使用查询好
作者: accben    时间: 2014-12-2 13:08
学习一下,谢谢分享。
作者: gdjdyyj    时间: 2018-11-4 13:26
学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3