...... Order By id desc

解决方案 »

  1.   

    1。要提高查询速度,建立ID索引。
        如果用MSHflexgrid.additem方法确实要这么长时间。没法再快了,可以加一个进度条吗,这样就不会觉得慢了。
        用绑定方式要比ADDITEM方法快。
    2。...... Order By id desc 
      

  2.   

    select top 100 * from khzl  order by id desc (desc表示按id逆序排列)
      

  3.   

    如果你用不到带区可以不用MSHFlexgrid,用MSFlexgrid能快一点。
    再有,我用MSHFlexgrid时并没有象你说的那样慢,一般在加到5K行以后才越来越慢,不知道你是怎么搞的。我现在用一个VidoFlex的网格,几乎所有属性、方法、事件和MSHFlexgrid都是一样的,但速度快很多。5万行的数据MSHFlexgrid要10分钟,VidoFlex只用1分钟左右就出来了。你到网上找找吧。
      

  4.   

    楼上的 songyangk 你好!我将数据库里的记录读出来时就用以下的方法,但还是感觉好慢,至少有3秒钟吧,不知你用的是什么好的方法,另外你说的那个VidoFlex控件,sina、sohu、yahoo都找不出来,可不可以给我邮一分过来啊?非常感谢啦![email protected]                For cell9 = 1 To 18
                        tgrid.ColWidth(cell9) = 1300
                    Next
                    Do While Not rs9.EOF
                        For cell9 = 0 To 18
                            tgrid.Col = cell9
                            tgrid.Row = hang9
                            tgrid.CellAlignment = 4
                            tgrid.Text = rs9.Fields(cell9).Value
                        Next
                            tgrid.Row = hang9
                            hang9 = hang9 + 1
                            tgrid.CellBackColor = &HFF9E57
                            rs9.MoveNext
                            tgrid.AddItem ""
                    Loop
      

  5.   

    载入时最好设置redraw属性,速度可能会快一点
      

  6.   

    不能这么设置,应当用记录返回你需要的记录,然后用
    set tgrid.datasource=rs9
    tgrid.refresh
    速度很快。我有VFLEX7.0,不过你给的分太少了。
      

  7.   

    楼上的  proman 大侠,你好!可不可邮一个过来啊?同时也有代码的啊,分少了可以加的哦,如果可以搞客,小弟送你100分也没问题啦! 谢谢!
      

  8.   

    你应该首先设置.Redraw=false 添数据的时候就不会闪了,visible=false看不见就更快了
    .AllowBigSelection = True,.FillStyle=flexFillRepeat允许块选择,选中的区域一次性全部改变底色.这是专业级的代码,一万行数据只要两秒钟。赛杨500的机器。    With tgrid
            For cell9 = 1 To 18
            tgrid.ColWidth(cell9) = 1300
            Next
            .Clear
            .Redraw = False
            .Visible = False
            .SelectionMode = flexSelectionFree
            .AllowBigSelection = True
            .FillStyle = flexFillRepeat
            Set .DataSource = recMain
            .Row = 1
            .Col = 1
            .RowSel = .FixedRows - 1
            .ColSel = .Cols - 1
            .CellFontBold = True
            .ColSel = .FixedCols - 1
            .RowSel = .Rows - 1
            .CellBackColor = &HFF9E57
            .CellFontBold = True
            .FillStyle = flexFillSingle
            .AllowBigSelection = False
            .Redraw = True
            .Visible = True
            Set .DataSource = Nothing
        End With
      

  9.   

    应该将这句      Set .DataSource = recMain
    改成
    Set .DataSource=Rs9
      

  10.   

    谢谢楼上的sssoft 大哥啦,终于搞定了,读取数据也比我以前的快多的啊!15分好像都少了点,等到下次再给多加分啦!thanks a lot !!!
      

  11.   

    我一般用这个控件时直接改变总行数和总列数,然后用TextMatrix (Row,Col)=...赋值就行了..你还要不要我说的那个控件了?留个EMail。
    多给我加些分行吗?我想申请VB版主
      

  12.   

    不同意楼上songyangk的说法。您仔细看看代码,最后要设置
    set .DataSource=Nothing
    我最多的时候添加过5万行。如果不设置断开,滚动的时候特别慢。
      

  13.   

    楼上的sssoft(恒谦) ,你好,上次是你帮我解决的,我当然记得给你分,自己都嫌不够呢,但后来我总是给不出去啊,我也会说话不算数的啦,以后我会经常来这的,你等着收就啦,如果有兴趣可以交个朋友啦?[email protected]