Adodc1.RecordSource = strQuery
Adodc1.Open
'Adodc1.Refresh

解决方案 »

  1.   

    如果动态查询,还不如用Recordset。
    可以试试Adodc.recordset.requery
    放在Refresh之前
    再试试设一下Adodc的CursorLocation,再不行就改改超时。肯定查询量少一点不会出错?那试试加一个Select Top 10 返回行不行。
    Sql的日期比较建议使用Between,而不是大于,小于的麻烦事。
      

  2.   

    运行时错误'-2147467259 (80004005)':
    Automation 错误!是典型的连接出错问题,只能用On Error把它抓住后重新连接。
      

  3.   

    我同意playyuer(女㊣爱) 的办法,但这样好象还有个问题,就是open后,数据库并不是立即更新!
      

  4.   

    各位大虾,Adodc1控件没有open 方法!
      

  5.   

    to bisc_sunny(中子) ,我试了你的方法,还是不行,你能否说的详细一点,我对ADO使用不太熟!For Example!
    to playyuer(女㊣爱) Adodc1.open 是错误的,因为ADODC控件没有该方法或属性!
      

  6.   

    1、把strQuery截取出来,在client端直接执行sql,如果返回结果没问题,试一试改大超时。
    2、我遇到过一个automation 出错的问题,VB6 ADO2.5 + ORACEL 7.2,Provider用MSDASQL不能begintrans/committrans,后来改用ODBC就好了
      

  7.   

    TO KingSunSha(弱水三千) 我试了,在client端的SQL A
      

  8.   

    TO KingSunSha(弱水三千) 我试了,在client端的SQL Advantage 提交了sql 语句,要十分钟
    才能出结果,而在vb中2分钟就出错了!可能得改大超时,在VB端怎样增大超时,我用的都是缺省
    望各位告诉我!
      

  9.   

    Adodc1.CursorLocation = AdUseServerAdodc1.Timeout = 0
    就是永不超时。你十分钟出结果的话,这程序不是太慢了吗,
    不超时的话,用户也烦死了,加点索引吧
      

  10.   

    to bisc_sunny(中子): 我在建表是依据 时间建立了聚簇索引create clustered index 
    c_z1_idx on c_z1(c_z1.dt,c_z1.ms); 难道还得建?!
      

  11.   

    to bisc_sunny(中子): adodc 控件有:Adodc1.ConnectionTimeout ,
    Adodc1.CommandTimeout 两个属性,没有adodc1.timeout
      

  12.   

    adodc combines CONNECTION object & COMMAND object together,
    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.
      

  13.   

    to all:
    我觉得,多表联合查询时,where 子句中关联的太多了,就会很慢很慢,现在我在程序中加上
    Adodc1.ConnectionTimeout = 0   Adodc1.CommandTimeout = 0  后检索时,数据量大了
    客户端便没有了响应,程序死菜了!另外,我想优化我的SQL语句,将间隔的条件提前,及先判断id号是否能整除,再判断时间范围,
    这样,我间隔数大一点,便可以取出时间范围大一点的数据,现在我能取1天的数据,我间隔数设
    为10,就应该能取出10天的数据,但事与愿违,不行,那位兄台有没有好办法?!
      

  14.   

    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!
      

  15.   

    to KingSunSha(弱水三千):兄台我的应用是将文件转成数据库的
      

  16.   

    实在不明白为什么要做这么一个显示窗口?
    我的意思是你是不是可以考虑让用户只要发一个请求,系统接收到请求后,在数据库端运行一段存储过程,把结果送去一个文本文件(或转成其他格式)。这样用户就可以浏览了。
    我们有很多大型报表就是这样做的,不过都是在UNIX或VMS平台下。我没试过NT平台上跑SYBASE,不过应该有类似的办法。
      

  17.   

    我的数据库也是在UNIX上,我的应用是将数据文件转成数据库,便于检索,统计等工作
    但利用VB6作为客户端,ADO 加DATAGRID控件绑定来显示检索数据,数据量大了就出问题了!
    我将SQL语句在后台,速度很快!但放在sybase提供的客户端SQL Advatage 速度很慢我是指
    联合查询,单表查询在VB的程序中,只需1-2分钟很快的,因此,我怀疑是联合查询时where 子句中关联太多,会影响速度。但我加的间隔数却没起作用,因为我要间隔取一些的数据来画曲线分析趋势,现在取不了了!