我用的是SQL ODBC
Adodc1.RecordSource = "SELECT a From Tb WHERE ID = '" & CurPROID & "' order by ID"
Set DG1.DataSource = Adodc1
Adodc1.Refresh我把这代码放在窗体的LOAD事件中,但是每次窗体加载的时候速度都比较慢,要等1至2秒才会跳出窗体,不知道如何才能加快速度?谢谢!

解决方案 »

  1.   

    不是控件的原因,你的表数据很大吗,要不怎么会这样?VB处理数据是1M/s,不至于啊
      

  2.   

    不是数据多,我才用几条数据调试用的,不到十条耶!
    我想是不是和使用ODBC有关.因为我是用Adodc1加DATAGRID进行操作,首次操作的时候速度很慢,大概要等上2秒左右,但是接下去的操作都很快.
      

  3.   

    使用ODBC数据源,记录源用"8-adCmdUnknown",再在命令文本中写SQL语句
      

  4.   

    看来楼主Adodc1已经学得很牛了,现在正在追求更牛的技术,来看看我这个问题吧
    http://topic.csdn.net/u/20081215/23/0da76a9b-f95e-4cc5-b14b-f4c74615c33d.html
      

  5.   

    很可能绑定控件的数据刷新慢,你可以新开工程,窗体上只有 Adodc1,再试试速度。
      

  6.   

    VB数据库应用软件运行时,需加载程序调用的系统文件于内存,它当然需要一定时间,1-2秒时间并不算长。从你代码看应该略作修改
    Private Sub Form_Load()
        Adodc1.ConnectionString = "" '本句连接设置按你实际写
        Adodc1.RecordSource = "SELECT a From Tb WHERE ID = '" & CurPROID & "' order by ID"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1
    End Sub
      

  7.   

    你查询句中的CurPROID是通过那儿赋值的?可以先执行以下代码,将数据库连上Private Sub Form_Load()
        Adodc1.ConnectionString = "" '本句连接设置按你实际写
        Adodc1.RecordSource = "SELECT * From Tb"‘
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1
    End Sub
      

  8.   


    CurPROID 是个全局变量.我觉得不是这个的原因.因为我有的窗体是直接使用以下代码,但是速度一样不会说马上就出现窗体,有什么方法可以让实现更快速的显示数据网格窗体?我的数据量都不大,最大30条记录,一般只有10条以内:
    Adodc1.RecordSource = "SELECT a From Tb " 
    Set DG1.DataSource = Adodc1 
    Adodc1.Refresh