| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1798 人关注过本帖
标题:关于SQL2000中一些辅助数据读取问题?
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
结帖率:98.98%
收藏
已结贴  问题点数:20 回复次数:6 
关于SQL2000中一些辅助数据读取问题?
关于SQL2000中一些辅助数据读取问题?什么时候读取?软件启动的时候一次性读取?还是在需要用的的表单上读取?
如:有个表叫“楼号表”,SQL2000对于名称是 lhb,有如下几个字段
区域 varchar(20),楼名 varchar(30),楼号 varchar(20)
有几个地方能用到这个表的数据,如新增,查询业主时,就要用到。
比如,业主查询表单.SCX,用个combox捆绑了这个数据源,根据这个combox的值来过滤查询数据。
问题来了:
1、用的是SQL2000的数据库,如果是在局域网内操作,这个问题不算问题,基本上不影响。
2、用VPN做的连接外网的数据库库时,由于网速原因,读取SQL数据时,比较慢。如果“楼号表”是在需要用到的表单上才读取时,会明显感觉慢,如:
this.enabled=.f.
do form 业主查询表单.SCX
   
&&我在COMBOX的INIT上读取 lhb 的数据,作为combox  的数据源,所有启动 业主查询表单.SCX时,明显感觉到要等待10几秒或者更多,
给人的感觉是,好像点了“业主查询”这个按钮时,没点到,没反应的感觉。
但如果我这样做:
this.enabled=.f.
wait window nowait "正在打开业主查询界面,请稍候片刻..." &&提示,但给人的感觉是,有提示了,但不专业。。。。
do form 业主查询表单.SCX
3、如果我把读取“楼号表”的读取放在启动软件的时候读取,在“业主查询表单.SCX”上不读取,那么启动“业主查询表单.SCX”时,就不会出现等待现象,但有个弊端,就是,在软件启动后,楼号表,其它人所做的增加或者修改,的信息,就不能同步到本机的 楼号表的数据,也就是说,本机的楼号表数据,可能不是最新的。
你们要是面对这个问题时,怎么处理?
搜索更多相关主题的帖子: 局域网 数据库 数据源 color 影响 
2016-01-22 09:16
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
顶一下。。。
2016-01-22 15:17
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:6 
软件启动的时候一次性读取?还是在需要用的的表单上读取?
怎样也行,依自己实际需要定。
2016-01-22 17:54
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11793
专家分:43421
注 册:2006-5-13
收藏
得分:7 
一般是用到时再读,这样数据更完整及时。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-01-22 18:51
hepingfly
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:15
帖 子:195
专家分:657
注 册:2015-5-21
收藏
得分:7 
还是现用现取好一点。有些问题是没办法的,只能尽力而为的灵活处理。比如:combox 上的列越少越好。再就是可以取2次:第一次,只对 combox 数据源取一次,第2次,只取筛选的记录。虽然取了2次,但是因为分开了操作,用户感觉等待的时间是变少的。(仅供供参考)

星际花草
2016-01-22 20:15
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用hu9jj在2016-1-22 18:51:39的发言:

一般是用到时再读,这样数据更完整及时。
但,由于我用的是外网的数据库,用向日葵提供的VPN来组网,网络没局域网的快,在打开表单的时候,表单的INIT中读取,会出现等待的现象,给人的感觉是,好像没点“按钮”的感觉。如
图片附件: 游客没有浏览图片的权限,请 登录注册
图,比如我点了“房产信息查询”,do form 房产信息查询.scx,
我在 form.init中读取“楼号表”的信息,由于读取外网的数据,速度慢,从点“房产信息查询”到表单的界面出来时,可能要等10多秒,给的感觉,好像是点“房产信息查询”没反应,我在 do form 房产信息查询.SCX之前,
wait window nowait "正在打开房产信息查询界面,请稍后..."
do form 房产信息查询.SCX
但好像,不轮不类,不专业,虽然达到了,提示的目的。。
2016-01-22 20:16
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下,就是我表单的COMBO1.INIT,等数据回来了,整个表单才出来,所以感觉在运行这个表单,到处界面的时候,有10几秒的等待时间,
csql=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cdbs
nhandle=sqlstringconnect(csql)
IF nhandle>0
   res= SQLEXEC(nhandle,"select * from wy_qhb where qy='是'",'wy_qhb_n')
   SQLDISCONNECT(nhandle)
   IF res<=0
      CREATE CURSOR wy_qhb_n(gs varchar(40),qh varchar(8),qy varchar(8))
   ENDIF
ELSE
   CREATE CURSOR wy_qhb_n(gs varchar(40),qh varchar(8),qy varchar(8))
ENDIF
   
WITH
    .ROWSOURCE="wy_qhb_n.qh"
    .ROWSOURCETYPE=6
    .DISPLAYVALUE="选择"
ENDWITH

[此贴子已经被作者于2016-1-22 20:22编辑过]

2016-01-22 20:20
快速回复:关于SQL2000中一些辅助数据读取问题?
数据加载中...
 
   



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

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