我打开一表后,一般是通过将recordset对象绑定到msflexgrid控件上,还是自己读取记录集上的数据,然后往MsFlexGrid控件上写,两种方法一般是用的哪种?

解决方案 »

  1.   

    工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
        Dim Rs   As New ADODB.Recordset
        CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=xxx;"
        CN.Open
        Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockOptimistic    Set MSHFlexGrid.DataSource = Rs
      

  2.   

    一般是设置MSHFlexGrid的DataSource = Rs
    效率最高
      

  3.   

    我是这样做的,先得到recordset集,然后用一个函数来填充msflexgrid
      

  4.   

    ling242a():你的方法也就是我所说的第二种方法了
      

  5.   

    如果能用SQL语句来完成的,显而易见,第一种方法效率要高的多,我操作一个有五万条记录的记录集,用第一种方法,只需要几秒钟,而如果循环赋值,没有几分钟是肯定搞不定,但第二种可以处理一些特殊情况
      

  6.   

    我一直用的方法,效果突出:
        放一个Adodc控件,然后:
        Dim str As String
        str = "Select * From YourTable" '(YourTalbe=表名)
            
        Adodc1.ConnectionString = DbStr '(连接字符串,公共变量)
        Adodc1.RecordSource = str
        Set MSHFlexGrid1.DataSource = Adodc1
        Adodc1.Refresh
      

  7.   

    光说不练是不行滴,我出个经常用到的让大家练练手:
    要求:将下面的数据填充表格,2004年背景红,2004年背景蓝,2004年背景黄,
    select 名称,描述,数量,单价,日期 from 表 where Year(日期)='2002'
    select 名称,描述,数量,单价,日期 from 表 where Year(日期)='2003'
    select 名称,描述,数量,单价,日期 from 表 where Year(日期)='2004'
    最后一格显示 :合计:数量*单价=总价 的值/ 字体红色要求2:将上面填充好的表格实行打印。
      

  8.   

    这边不好给分,大家去下面的连接拣分吧:
    http://community.csdn.net/Expert/topic/3554/3554228.xml?temp=.1261103