1. add index on key fields 2. add some categories on forms 3. if a sql statement takes more than 10mins to run, pls try to not use online form, insteadly, you can just build a form let user raise a report request, then startup a backend procedure to run to sql, spool result to a text file, then system informs user to pickup report file in a certain folder. we often do like this for such requirement. 4. if you want me to talk this more detail, pls let me know. I'll comment tonight.good luck!
可以试试Adodc.recordset.requery
放在Refresh之前
再试试设一下Adodc的CursorLocation,再不行就改改超时。肯定查询量少一点不会出错?那试试加一个Select Top 10 返回行不行。
Sql的日期比较建议使用Between,而不是大于,小于的麻烦事。
Automation 错误!是典型的连接出错问题,只能用On Error把它抓住后重新连接。
to playyuer(女㊣爱) Adodc1.open 是错误的,因为ADODC控件没有该方法或属性!
2、我遇到过一个automation 出错的问题,VB6 ADO2.5 + ORACEL 7.2,Provider用MSDASQL不能begintrans/committrans,后来改用ODBC就好了
才能出结果,而在vb中2分钟就出错了!可能得改大超时,在VB端怎样增大超时,我用的都是缺省
望各位告诉我!
就是永不超时。你十分钟出结果的话,这程序不是太慢了吗,
不超时的话,用户也烦死了,加点索引吧
c_z1_idx on c_z1(c_z1.dt,c_z1.ms); 难道还得建?!
Adodc1.CommandTimeout 两个属性,没有adodc1.timeout
so Adodc1.ConnectionTimeout = 0 ' Connection never timeout
Adodc1.CommandTimeout = 0 ' Command never timeoutI don't like adodc, ado CONNECTION object + ado COMMAND/or ado Recordset object will be much easy to control.
我觉得,多表联合查询时,where 子句中关联的太多了,就会很慢很慢,现在我在程序中加上
Adodc1.ConnectionTimeout = 0 Adodc1.CommandTimeout = 0 后检索时,数据量大了
客户端便没有了响应,程序死菜了!另外,我想优化我的SQL语句,将间隔的条件提前,及先判断id号是否能整除,再判断时间范围,
这样,我间隔数大一点,便可以取出时间范围大一点的数据,现在我能取1天的数据,我间隔数设
为10,就应该能取出10天的数据,但事与愿违,不行,那位兄台有没有好办法?!
2. add some categories on forms
3. if a sql statement takes more than 10mins to run, pls try to not use online form, insteadly, you can just build a form let user raise a report request, then startup a backend procedure to run to sql, spool result to a text file, then system informs user to pickup report file in a certain folder. we often do like this for such requirement.
4. if you want me to talk this more detail, pls let me know. I'll comment tonight.good luck!
我的意思是你是不是可以考虑让用户只要发一个请求,系统接收到请求后,在数据库端运行一段存储过程,把结果送去一个文本文件(或转成其他格式)。这样用户就可以浏览了。
我们有很多大型报表就是这样做的,不过都是在UNIX或VMS平台下。我没试过NT平台上跑SYBASE,不过应该有类似的办法。
但利用VB6作为客户端,ADO 加DATAGRID控件绑定来显示检索数据,数据量大了就出问题了!
我将SQL语句在后台,速度很快!但放在sybase提供的客户端SQL Advatage 速度很慢我是指
联合查询,单表查询在VB的程序中,只需1-2分钟很快的,因此,我怀疑是联合查询时where 子句中关联太多,会影响速度。但我加的间隔数却没起作用,因为我要间隔取一些的数据来画曲线分析趋势,现在取不了了!